2010-12-14 2 views
1

У меня возникла эта проблема.WP Oembed, не проходящий через переменную «autoplay = 1»

Я передаю это через настраиваемое поле here

(notice the "autoplay=1")

Но когда я загрузить видео на мою тему, используя wp_oembed_get ... он отображает видео штраф, но он не слушает к autoplay=1 переменная, которую я прохожу.

Мне нужны видеоролики для загрузки на странице загрузки.

+0

Я ** довольно ** уверен, что у него есть ** хорошая ** причина игнорировать это ... – BoltClock

+0

Это был очень полезный комментарий! ... – criticerz

+0

Вы нашли решение? Я также пытаюсь передать это значение в моем PHP-скрипте. – 2011-01-15 16:30:53

ответ

0

искать функцию wp_oembed_get и использовать аргументы, чтобы передать автовоспроизведение ... должно работать нормально. Просто вставьте в URL-адрес видео не автовоспроизведение & ... вы закодируете это в часть аргументов функции.

-3

Это может быть легко исправлена ​​путем изменения функции wp_oembed_get() в сор-включает/media.php к этому:

function wp_oembed_get($url, $args = '') { 
    // Manually build the IFRAME embed with the related videos option disabled and autoplay turned on 
    if(preg_match("/youtube.com\/watch\?v=([^&]+)/i", $url, $aMatch)){ 
     return '<iframe width="560" height="315" src="http://www.youtube.com/embed/' . $aMatch[1] . '?rel=0&autoplay=1" frameborder="0" allowfullscreen></iframe>'; 
    } 

    require_once(ABSPATH . WPINC . '/class-oembed.php'); 
    $oembed = _wp_oembed_get_object(); 
    return $oembed->get_html($url, $args); 
} 
+0

Кроме того, обязательно выполните следующий SQL-запрос после внесения этого изменения, чтобы обновление было обновлено: УДАЛИТЬ ИЗ wp_postmeta WHERE meta_key LIKE '_oembed_% ' – interimpulso

4

Я думаю, что способ сделать это использует WordPress фильтры:

function modify_youtube_embed_url($html) { 
    return str_replace("?feature=oembed", "?feature=oembed&autoplay=1", $html); 
} 
add_filter('oembed_result', 'modify_youtube_embed_url'); 
1

Это мое решение в functions.php

function embed_responsive_autoplay($code){ 
    if(strpos($code, 'youtu.be') !== false || strpos($code, 'youtube.com') !== false){ 
     $return = preg_replace('@embed/([^"&]*)@', 'embed/$1&showinfo=0&autoplay=1', $code); 
     return '<div class="embed-container">' . $return . '</div>'; 
    } 
    return '<div class="embed-container">' . $code . '</div>'; 
} 

add_filter('embed_oembed_html', 'embed_responsive_autoplay'); 
add_filter('video_embed_html', 'embed_responsive_autoplay'); // Jetpack 

Наслаждайтесь!

Смежные вопросы