我有一个名为portfolio
的自定义帖子类型和一个名为build-type
的自定义分类(作为类别)
我正在尝试按portfolio
ID查询build-type
个帖子,例如“酒店”中的所有投资组合帖子(该分类标识为id = 4)
// gets the ID from a custom field to show posts on a specific page
$buildType = get_post_meta($post->ID, 'build_type_id', true);
// run query
query_posts(array(
'post_type' => 'portfolio',
'showposts' => -1,
'tax_query' => array(
'taxonomy' => 'build-type',
'terms' => $buildType,
'field' => 'term_id'
),
'orderby' => 'title',
'order' => 'ASC'
));
目前它正在调用所有 portfolio
帖子,而不仅仅是那些build-type
ID
对于'field' => 'term_id'
,我应该使用term_id
,tag_ID
,id
还是其他?
任何人都知道如何使这个工作?
提前致谢!
答案 0 :(得分:15)
我在https://wordpress.stackexchange.com/questions/30476/query-posts-by-custom-taxonomy-id
的帮助下解决了这个问题 tax-query
需要是一个数组数组
最终的解决方案是:
// gets the ID from a custom field to show posts on a specific page
$buildType = get_post_meta($post->ID, 'build_type_id', true);
// run query
query_posts(array(
'post_type' => 'portfolio',
'showposts' => -1,
'tax_query' => array(
array(
'taxonomy' => 'build-type',
'terms' => $buildType,
'field' => 'term_id',
)
),
'orderby' => 'title',
'order' => 'ASC' )
);
在github上:
答案 1 :(得分:0)
我不是WP-gury,我花了数小时努力解决同样的问题。最后我发现了这篇博文:http://richardsweeney.com/blog/wordpress-3-0-custom-queries-post-types-and-taxonomies/
答案有点半坏:显然你不能像这样过滤自定义帖子类型(它只适用于帖子),这是一种耻辱!
我做的工作是:
$ args ['custom_tax'] ='custom_tax_slug'; query_posts($参数);
希望它有所帮助!
//麦克