如何为特定的分类法术语使用“ getEntityRecords”

时间:2019-09-10 21:59:08

标签: wordpress-rest-api wordpress-gutenberg gutenberg-blocks

我正在尝试使用“ getEntityRecords”从特定的分类术语中获取自定义帖子类型。对于“发布”,我可以在“查询”对象中使用“类别”属性,如下所示:

getEntityRecords( 'postType', 'post', {per_page: 3, categories: [1,2,3] } )

,效果很好。但是对于分类学术语该怎么做?

我尝试在查询对象中使用“ terms”属性,但这不起作用。

getEntityRecords( 'postType', 'my_post_type', {per_page: 3, terms: [1,2,3] } )

我只想获得特定术语的职位,但现在我获得了所有自定义职位。

2 个答案:

答案 0 :(得分:2)

是的,没有很多使用数据模块的文档,使用它通常感觉像是猜测。但是,通过实验,我可以得出以下结论:

要获取所有帖子:

getEntityRecords( 'postType', 'post' )

要获取自定义帖子类型:

getEntityRecords( 'postType', 'your_custom_post_type')

要获取具有特定类别的自定义帖子

getEntityRecords( 'postType', 'your_custom_post_type', category: [1,2,3])

要获取包含自定义分类法术语的自定义帖子(我认为这是您问题的具体答案):

getEntityRecords( 'postType', 'your_custom_post_type', your_taxonomy: [1,2,3])

要获取自定义分类法的条款,请执行以下操作:

getEntityRecords( 'taxonomy', 'your_taxonomy')

答案 1 :(得分:0)

好的,我找到了解决方案。我所做的只是注册分类法论证。

add_filter('register_taxonomy_args', 'my_function', 10, 2);
function my_function ($args, $taxonomy)
{
    if ( in_array( $taxonomy, array('taxonomy1', 'taxonomy2' ) ) )
    {
        $args['show_in_rest'] = true;
    }

    return $args;       
}

然后我用了:

getEntityRecords( 'postType', 'post', {per_page: 3, taxonomy1: [1,2,3] } )