Я думаю, что лучшим решением может быть создание новой конечной точки API (https://developer.wordpress.org/rest-api/extending-the-rest-api/adding-custom-endpoints/)
add_action( 'rest_api_init', 'my_rest_post_with_videos_endpoint' );
function my_rest_post_with_videos_endpoint() {
register_rest_route( 'wp/v2', 'post/with-videos', array(
'methods' => 'POST',
'callback' => 'my_post_with_videos',
) );
}
И в этой конечной точке просто верните мета-запрос, в котором вы получите все сообщения с этим мета: пример запроса
function my_post_with_videos( $request = null ) {
$args = array(
'post_type' => 'post',
'meta_query' = array(
array(
'key' => 'meta_video',
'compare' => 'EXISTS',
),
);
$response = new WP_Query( $args );
return new WP_REST_Response( $response, 200 );
}
Имейте в виду, что это очень простой c пример без проверок или проверок ошибок.