添加rest_post_query

时间:2018-08-05 16:25:34

标签: wordpress wordpress-rest-api

我添加了一个如

的rest_post_query
add_filter( 'rest_books_query', function( $args ) {
    $args['meta_query'] = array(
        array(
            'key'   => 'title',
            'value' => esc_sql( $_GET['title'] ),
        )
    );
    return $args;

像wp-json / wp / v2 / books这样的查询?title = someTitle工作, 但我现在无法查询所有帖子,例如wp-json / wp / v2 / books不再起作用。我应该如何更改它才能同时查询两者?谢谢

1 个答案:

答案 0 :(得分:0)

据我了解,您想使用相同的API路线来获取“所有帖子”或按标题发布。如果是这样,您可以简单地做到:

add_filter( 'rest_books_query', function( $args ) {
    if(isset($_GET['title'])){
      //better push to meta_query array in case there is other meta_query already here
      $args['meta_query'][] = [
            'key'   => 'title',
            'value' => esc_sql( $_GET['title'] ),
      ];
    }

    return $args;
});

如果未提供title参数,则meta_query将不会被推送到查询参数数组。

请注意,您还可以声明一个新的API路由来完全满足您的要求。