我创建了一个名为“课程”的自定义帖子类型,其中有7个帖子,每个帖子都是单独的培训课程。
我还为它们添加了单独的自定义分类“course\\u代码”,如h001、h002、h003等。这些代码与培训中心提供的单独课程相关。
我有几个培训中心,它们有自己的自定义岗位类型“training\\u centre”,每个培训中心都将使用它们提供的相同自定义分类“course\\u Code”进行标记,并非所有培训中心都有培训所有课程的设施,因此一些培训中心只标记了几门课程。
因此,在我的培训中心模板上,我创建了一个WP\\U查询,以查找在培训中心中使用相同自定义分类法“course\\u code”标记的所有自定义帖子类型“course”,但是,tax\\u查询产生的结果为零,没有tax\\u查询,我可以在“课程”中获得所有自定义职位类型,但我只想要培训中心提供的那些类型,这就是为什么我使用“课程代码”进行匹配-这是产生零结果的代码:
<?php
// Create a new instance
$args = array(
\'post_type\' => \'course\',
\'tax_query\' => array(
array(
\'taxonomy\' => \'course_codes\',
\'field\' => \'slug\',
\'term\' => \'h001\'
)
),
\'post_status\' => \'publish\'
);
$welcomepost = new WP_Query($args);?>
<?php while( $welcomepost->have_posts() ) : $welcomepost->the_post();?>
<?php the_title ();?>
<?php endwhile;?>
<?php wp_reset_postdata();?>
我哪里做错了,我的问题是不是搞错了,或者我是不是做错了?
最合适的回答,由SO网友:Stephen Harris 整理而成
这个term
参数实际应为terms
, 即使只提供一个术语:
$args = array( \'post_type\' => \'course\',
\'tax_query\' => array(
array(
\'taxonomy\' => \'course_codes\',
\'field\' => \'slug\',
\'terms\' => \'h001\'
)),
\'post_status\' => \'publish\'
);