在WordPress中的REST API v2中按类别筛选自定义帖子类型

时间:2017-03-16 09:40:59

标签: json wordpress wordpress-rest-api

我正在使用WP API创建一个Android应用。我设法在REST API中显示自定义帖子类型,可以在以下位置查看:

http://localhost/wordpress/wp-json/wp/v2/property

现在我想按类别过滤属性,例如villahomerent等。我尝试过以下操作,但不起作用:

http://localhost/wordpress/wp-json/wp/v2/property?filter[category_name]=villa` 
http://localhost/wordpress/wp-json/wp/v2/property?filter[category]=apartment`

2 个答案:

答案 0 :(得分:2)

我的自定义帖子类型也遇到了这个问题。

您需要按照自定义分类法(例如,property_categories,或者您在register_taxonomy()函数中命名的任何内容)和然后进行查询。

&filter[taxonomy]=property_categories&filter[term]=villa

答案 1 :(得分:0)

这挽救了我自己的一天

mysite.com/wp-json/wp/v2/property?property-status=33

然后这是我在主题函数文件中的调用

    //get custom post types in the WP-API v2
//for mobile app
add_filter( 'register_post_type_args', 'sb_add_cpts_to_api', 10, 2 );
function sb_add_cpts_to_api( $args, $post_type ) {
if ( 'property' === $post_type ) {
$args['show_in_rest'] = true;
}
return $args;
}


//to add taxonomy for properties to API result
    add_action( 'init', 'sb_add_taxes_to_api', 30 );
    function sb_add_taxes_to_api() {
    $taxonomies = get_taxonomies( 'property-city', 'property-type', 'property-status' );
      foreach( $taxonomies as $taxonomy ) {
            $taxonomy->show_in_rest = true;
            $taxonomy->name;
        }
    }