我正在尝试从自定义分类中获取自定义帖子类型。根据此处的文档和其他类似问题,我做了以下内容:
$query = new WP_Query( array(
'post_type' => 'job',
'tax_query' => array(
'taxonomy' => 'location',
'field' => 'slug',
'terms' => 'california'
)
)
但问题是这个查询获得了所有帖子,而不仅仅是“加利福尼亚”分类标准下的帖子。
如果需要更多信息,我可以提供更多代码来编辑问题。
提前致谢!
答案 0 :(得分:2)
尝试这样的事情:
$posts_array = get_posts(
array(
'posts_per_page' => -1,
'post_type' => 'job',
'tax_query' => array(
array(
'taxonomy' => 'location',
'field' => 'slug',
'terms' => 'california',
)
)
)
);
答案 1 :(得分:1)
你错过了一个数组。 tax query参数可用于多个分类。它接受一个数组数组。
重要说明:tax_query采用一系列税务查询参数数组 (它需要一组数组)。此构造允许您查询 通过使用第一个中的关系参数来实现多个分类 (外部)数组来描述之间的布尔关系 分类数组。
https://codex.wordpress.org/Class_Reference/WP_Query#Taxonomy_Parameters
改变这个:
'tax_query' => array(
'taxonomy' => 'location',
'field' => 'slug',
'terms' => 'california'
)
对此:
'tax_query' => array(
array(
'taxonomy' => 'location',
'field' => 'slug',
'terms' => 'california',
),
),
答案 2 :(得分:-1)
在你的while循环中,记得切换
<?php
while ( $query->have_posts() ) {
$query->the_post();
// Important line, especially if you have
//multiple WP_Query invocations
DO WHAT YOU WANT HERE
wp_reset_postdata();
}
?>