Wie kann man ein in Embed eingebettetes Video in DIV-Tags innerhalb des Inhalts einbinden?


9

Ich erstelle ein Wordpress-Theme für eine Website mit Video-Tutorials. Ich möchte das Video, das in den Inhalt eingebettet ist (mit oEmbed ), in ein separates Div einfügen .

Ein Beispiel

Der vollständige Inhalt (Ausgabe von the_content()) ist ungefähr so:

<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>

Und ich möchte dies dazu bringen:

<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>

Ich habe versucht, es über einen regulären Ausdruck aufzuteilen, aber es wurde ein Chaos.

Antworten:


16

Der embed_oembed_htmlFilter wird ausgeführt, bevor der HTML-Code einer oEmbed-Ressource ausgegeben wird. Sie können sich also in diesen Filter einbinden und die Ausgabe divwie folgt in a umschließen . Ich kann mir keine einfache Möglichkeit vorstellen, den anderen Inhalt zu verpacken.

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>';
}

-3

Wenn Sie versuchen, oEmbed in Ihrer Wordpress-Designvorlage zu verwenden, versuchen Sie Folgendes:

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

Dieses Snippet zeigt ein Video von Vimeo.com direkt in Ihrem Thema an, ohne dass Sie manuell einen Beitrag erstellen müssen.


Die Videos sind in Beiträge eingebettet. Das war das Problem.
— Krawatten
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.