Wie kann ich das erste Video aus einem Beitrag entfernen und es anzeigen?

Ich versuche ein Thema zu entwickeln, bei dem man, wenn man ein ‘Video’-Post-Format wählt, automatisch das erste Video von der Post bekommt und es (statt wo das Bild normalerweise ist) ähnlich der’ Divi ‘sieht. Thema von Elegant Themes funktioniert. Ich habe es geschafft, das eigentliche Einlesen des Videoeinbettungscodes durchzuführen und ihn in den vorgestellten Slot zu kopieren, allerdings erfordert dies, dass ich nun das erste Video vom Postinhalt selbst entfernen muss, sonst bekomme ich 2 von dem selben Video auf dem Seite, eine in der gekennzeichneten Bereich und eine an der Spitze des Beitrags Inhalt.

Was ich herausfinden möchte, ist:

  1. Was ist der einfachste Weg, um das erste Video eines “Video” -Posts automatisch zu präsentieren?

  2. Wie können Sie nach der Wiedergabe des Videos das Video aus dem Post-Content entfernen und verhindern, dass dasselbe Video zweimal auf der Seite gepostet wird?

Dies sollte mit allen Videoeinbettungen von youtube, vimeo, dailymotion usw. und selbst gehosteten Videos funktionieren.

EDIT: Hier ist der Code, den ich bisher habe. Es sind einige functionen, die das erste Video einbetten und den Einbettungscode des Videos zurückgeben. Die zweite function schafft es, das erste Video zu löschen, aber nur für “Video” -Kurzcodes. Ich versuche herauszufinden, wie dies für eingebettete Videos funktioniert.

function get_video_link(){ $first_video = ''; $custom_fields = get_post_custom(); foreach ( $custom_fields as $key => $custom_field ) { if ( strpos( $key, '_oembed_' ) !== 0 ) { continue; } $first_video = $custom_field[0]; $first_video = wrap_embed_html($first_video); break; } if ( $first_video === '' && has_shortcode( get_the_content(), 'video' ) ) { $regex = get_shortcode_regex(); preg_match( "/{$regex}/s", get_the_content(), $match ); add_filter('the_content', 'et_delete_post_video_shortcode'); $first_video = wrap_embed_html(do_shortcode($match[0])); } return ( $first_video !== '' ) ? $first_video : false; } function et_delete_post_video_shortcode( $content ) { if ( has_post_format( 'video' ) ) : $regex = get_shortcode_regex(); preg_match_all( "/{$regex}/s", $content, $matches ); // $matches[2] holds an array of shortcodes names in the post foreach ( $matches[2] as $key => $shortcode_match ) { if ( 'video' === $shortcode_match ) { $content = str_replace( $matches[0][$key], '', $content ); } } endif; return $content; } 

Solutions Collecting From Web of "Wie kann ich das erste Video aus einem Beitrag entfernen und es anzeigen?"