我正在尝试使用“ getEntityRecords”从特定的分类术语中获取自定义帖子类型。对于“发布”,我可以在“查询”对象中使用“类别”属性,如下所示:
getEntityRecords( 'postType', 'post', {per_page: 3, categories: [1,2,3] } )
,效果很好。但是对于分类学术语该怎么做?
我尝试在查询对象中使用“ terms”属性,但这不起作用。
getEntityRecords( 'postType', 'my_post_type', {per_page: 3, terms: [1,2,3] } )
我只想获得特定术语的职位,但现在我获得了所有自定义职位。
答案 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] } )