如何获取WP-API类别的帖子列表?

时间:2015-02-16 11:10:38

标签: wordpress wp-api

应该很容易,但没有在WP-API docs中找到它。

5 个答案:

答案 0 :(得分:8)

发现它,有点hidden

使用类别ID: /posts?filter[cat]=1

使用类别名称: /posts?filter[category_name]=MyCategory

答案 1 :(得分:4)

对于类别名称,应添加两个过滤器,如下所示:

add_filter( "rest_post_query", function( $args, $request){
                if ( isset( $request['category_name']) && !empty($request['category_name'] ) ) {
                    $args['category_name'] = $request['category_name'];
                }
                return $args;
            }, 10, 2);


add_filter( "rest_post_collection_params", function($query_params, $post_type){
                $query_params[ 'category_name' ] = array(           
                    'description' => __( 'Category name.' ),
                    'type'        => 'string',
                    'readonly'    => true,
                );
                return $query_params;
            }, 10, 2);

答案 2 :(得分:1)

此代码对我有用

<块引用>

添加到您的 function.php

function rest_filter_by_custom_taxonomy( $args, $request ) {

if ( isset($request['category_slug']) )
{
    $category_slug = sanitize_text_field($request['category_slug']);
    $args['tax_query'] = [
        [
            'taxonomy' => 'category',
            'field'    => 'slug',
            'terms'    => $category_slug,
        ]
    ];
}

return $args;

 }
 add_filter('rest_post_query', 'rest_filter_by_custom_taxonomy', 10, 3);
<块引用>

前:/wp-json/wp/v2/posts?category_slug=news

答案 3 :(得分:0)

此问题与this other question here from the forum

重复
http://example.com/wp-json/wp/v2/posts?categories=20,30

以上内容将返回category 20 OR category 30上的帖子

我已经测试了自定义帖子类型,并且效果也很好

响应和荣誉归功于“ Manish Jung Thapa”

答案 4 :(得分:-3)