Video-Post-Format, zusätzliche Inhalte bricht das Video einbetten

Ich nutze das content-video.php include um den neusten Video Post auf meiner Homepage zu zeigen. Das Include zeigt nur das Video vom Post und nicht den Rest des Inhalts, was gut funktioniert.

Mein Problem ist, wenn ich nach dem Link zum Video im Beitrag irgendeinen Inhalt (zB – Text, einen anderen Link, etc.) hinzufüge, bricht mein Video auf der Homepage ein. Das Video und der Text davor und danach werden in der aktuellen Post angezeigt.

Hier ist der Code, den ich für content-video.php habe

0 ): ?> 

<a href="https://wordpress.stackexchange.com/questions/100948/video-post-format-extra-content-breaks-video-embed/">

<iframe width="385" height="217" src="http://www.youtube.com/embed/" frameborder="0" allowfullscreen>

Und hier ist der Schleifencode, wo ich ihn auf der Homepage einfüge:

    'post', // if the post type is post 'posts_per_page' => 1, 'tax_query' => array( array( 'taxonomy' => 'post_format', 'field' => 'slug', 'terms' => 'post-format-video' )) ); $my_query = new WP_Query( $args ); ?> have_posts()) : $my_query->the_post(); ?>   

Kann irgendjemand erkennen, was ich falsch mache, oder muss ich das Video auf andere Weise einbetten ?!

Danke für jede Hilfe.

Solutions Collecting From Web of "Video-Post-Format, zusätzliche Inhalte bricht das Video einbetten"

Wenn Sie nicht wissen, was der Inhalt ist, verwenden Sie einen regulären Ausdruck, um zu testen, ob eine URL vorhanden ist.

Beispielcode:

 $content = get_the_content(); $pattern = '~([^"\'])?(https?://.*\.(flv|aac|mp4|mov|m4a|f4a|ogg|oga|mp3))([^"\'\?])?~i'; if ( preg_match( $pattern, $content, $matches ) ) { $parsedUrl = parse_url( $matches[ 0 ] ); // create the vidoe markup } else { // echo $content or something else } 

Hi das könnte eine Lösung für dein Problem sein. Anstatt zu setzen:

 < ?php echo $embedUrl; ?> 

Sagen Sie es so:

 < ?php echo substr($embedUrl, 0, 11); ?> 

Nach dem v = des extrahierten Youtube-Links auf dem Video-Post-Inhalt wird nur der 11-stellige Code wiedergegeben. Ich habe es selbst getestet und kam mit dieser Lösung. Hoffe das hilft!