У меня есть пост с post_format = video
, в котором контент представляет собой видео и текст (в редакторе по умолчанию). Мне нужно отобразить видео и текст по отдельности. Как это можно сделать?
На данный момент у меня есть этот код:
global $post;
$tmp_post = $post;
$args = array(
'posts_per_page' => 1,
'post_type' => 'post',
'post_status' => 'publish',
'order' => 'DESC',
'tax_query' => array(
array(
'taxonomy' => 'post_format',
'field' => 'slug',
'terms' => array( 'post-format-video' ) // post format
)
)
);
$video_posts = get_posts( $args );
foreach ($video_posts as $post ) :
setup_postdata( $post );
echo get_the_title($post->ID);
// ------> Here what code for get the video?
// html
// ...
// ...
// ------> Here what code for get the text (if possible)?
endforeach;
$post = $tmp_post;
В конце концов я сам нашел решение: я сделал функцию, которая возвращает iframe
за первое видео внутри поста с идентификатором $post_id
:
function get_first_video_embed($post_id) {
$content = apply_filters('the_content', get_post_field('post_content', $post_id));
$iframes = get_media_embedded_in_content( $content, 'iframe' );
return $video_post_iframe = $iframes[0];
}
Других решений пока нет …