Настройка WordPress API Query - PullRequest
       0

Настройка WordPress API Query

0 голосов
/ 06 января 2020

Я занимаюсь разработкой приложения и извлекаю список постов через Api WP, но мне нужен был параметр для извлечения только постов с видео, это настраиваемое поле с именем meta_video

Пример: https://meusite.com/wp-json/wp/v2/posts?categories=1 извлекает все сообщения из категории 1

Пример 2: https://meusite.com/wp-json/wp/v2/posts?meta_video=true для передачи параметра по URL-адресу и извлечения всех сообщений с видеофреймом.

Как я мог это сделать?

1 Ответ

2 голосов
/ 06 января 2020

Я думаю, что лучшим решением может быть создание новой конечной точки 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 пример без проверок или проверок ошибок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...