私は7つの投稿がそれぞれ個別のトレーニングコースである「コース」と呼ばれるカスタム投稿タイプを作成しました。
私はまた、それらを個々のカスタム分類法 'course_codes'でタグ付けしました。 h001、h002、h003など。これらは、トレーニングセンターによって提供される個々のコースに関連しています。
独自のカスタム投稿タイプ 'training_centre'を持つトレーニングセンターが複数あり、それぞれのトレーニングセンターに同じカスタム分類法 'course_code'が付いています。いくつかのコース.
したがって、私のトレーニングセンターのテンプレートでは、トレーニングセンターで同じカスタム分類法「course_code」がタグ付けされているすべてのカスタム投稿タイプ「course」を見つけるためのWP_Queryを作成しました'course'のカスタム投稿タイプしかし私はトレーニングセンターで利用可能なものだけが欲しいのです。それで私は 'course_code'を使って一致させるのです。
<?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();?>
ここでどこがおかしくなっていますか、クエリが間違っていますか、それとも間違ったやり方で進んでいますか?
term
パラメータは実際にはterms
でなければなりません、たとえ1つの項だけを提供する場合でも
$args = array( 'post_type' => 'course',
'tax_query' => array(
array(
'taxonomy' => 'course_codes',
'field' => 'slug',
'terms' => 'h001'
)),
'post_status' => 'publish'
);