Como agrupar o vídeo incorporado ao Embed em tags DIV dentro do the_content?

9

Estou criando um Tema Wordpress para um site com tutoriais em vídeo. Gostaria de colocar o vídeo que está incorporado no conteúdo (com oEmbed ) em uma div separada.

Um exemplo

O conteúdo completo (saída de the_content()) é algo como isto:

<p><iframe src="http://player.vimeo.com/video/0000000" width="900" height="506" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p>This is an Test of a tutorial. Bla bla bla</p>

E eu gostaria de obter isso para:

<div id="video">
<iframe src="http://player.vimeo.com/video/0000000" width="900" height="506" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
</div>
<div id="content">
<p>This is an Test of a tutorial. Bla bla bla</p>
</div>
Laços
fonte
Eu tentei dividi-lo através de um regex, mas tornou-se uma bagunça.

Respostas:

16

O embed_oembed_htmlfiltro é executado antes da saída do HTML de um recurso oEmbed, para que você possa conectar-se a ele e agrupar a saída da divforma a seguir. Não consigo pensar em uma maneira simples de agrupar o outro conteúdo.

add_filter('embed_oembed_html', 'my_embed_oembed_html', 99, 4);
function my_embed_oembed_html($html, $url, $attr, $post_id) {
  return '<div id="video">' . $html . '</div>';
}
Richard M
fonte
-3

Se você estiver tentando usar oEmbed no seu modelo de tema do Wordpress, tente o seguinte:

<aside>
    <p>oEmbed video in template test</p>
    <?php echo apply_filters('the_content', "http://vimeo.com/41205967"); ?>
</aside>

Este trecho exibirá um vídeo do Vimeo.com diretamente no seu tema, sem a necessidade de criar uma postagem manualmente.

Paul Wenzel
fonte
Os vídeos estão incorporados nas postagens. Esse foi o problema.
Laços