Como posso remover o primeiro vídeo de uma postagem e apresentá-lo?

Estou tentando desenvolver um tema em que, quando você seleciona um formato de publicação “video”, ele recebe automaticamente o primeiro vídeo da publicação e apresenta-o (em vez de onde a imagem em destaque seria normalmente) semelhante à forma como o ‘Divi’ tema por temas elegantes funciona. Eu consegui realizar a recuperação real do código de incorporação de vídeo e copiá-lo para o slot destacado, no entanto, isso exige que eu agora precise remover o primeiro vídeo do conteúdo do post, caso contrário, eu recebo 2 do mesmo vídeo no página, uma na área em destaque e uma na parte superior do conteúdo do post.

O que eu gostaria de descobrir é:

  1. Qual é a maneira mais fácil de tornar o primeiro vídeo de uma publicação ‘video’ automaticamente apresentado?

  2. Uma vez que o vídeo é apresentado, como você pode remover o vídeo do conteúdo da publicação, impedindo que o mesmo vídeo seja postado duas vezes na página?

Isso deve funcionar com todas as incorporações de vídeo do youtube, vimeo, dailymotion, etc. e vídeo autônomo hospedado.

EDIT: Aqui está o código que eu tenho até agora. São algumas das funções que levam o primeiro vídeo embutido e retornam o código de incorporação do vídeo para caracterizar. A segunda function consegue excluir o primeiro vídeo, mas apenas para os “shortcodes” de vídeo. Estou tentando descobrir como fazer isso para vídeos incorporados.

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 "Como posso remover o primeiro vídeo de uma postagem e apresentá-lo?"