Посмотрите документацию для WP_Query()
таксономических параметров . Вы можете использовать оператор relation => AND
для запроса сообщений, которые имеют оба термина.
Также обратите внимание, что, если у вас нет особых условий c для изменения основного $wp_query
объект, вы не должны использовать query_posts()
и должны вместо этого использовать WP_Query()
класс.
Если вам нужно использовать query_posts()
, вы можете просто переместить массив tax_query
в существующий код, но вот что вам нужно для начала:
$args = array(
'post_type' => 'projects',
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'projectcats',
'field' => 'slug',
'terms' => 'design',
),
array(
'taxonomy' => 'projectcats',
'field' => 'slug',
'terms' => 'reference',
)
),
'posts_per_page' => 10
);
$project_query = new WP_Query( $args );
if( $project_query->have_posts() ){
echo '<ul>';
while( $the_query->have_posts() ){
$project_query->the_post();
echo '<li>' . get_the_title() . '</li>';
}
echo '</ul>';
} else {
// no posts found
}
/* Restore original Post Data */
wp_reset_postdata();
Также после перечитывания вашего вопроса вы также сможете просто заменить 'terms' => 'design'
с 'terms' => 'reference'
, нет? Вам не нужно запрашивать родительский термин, если он вам не нужен.