我需要弄清楚如何通过以下条件查询帖子: 如果他们属于类别(通过ID)或他们有分类术语。因此,在一个存档页面上,我拥有类别ID为12的所有帖子,以及所有具有分类术语“archive-trading-tools”的帖子我已经设置了自定义分类法,并且该部分正在运行。我被困在:
<?php
$query_args = array(
'post_type' => array('post', 'webinar'),
'posts_per_page' => 10,
'paged' => $paged,
'page' => $paged,
'cat' => 12,
//'relation' => 'OR'
);
$query_args['tax_query'] = array (
'taxonomy' => 'archive-categories',
'term' => 'archive-trading-tools'
);
$the_query = new WP_Query( $query_args );
?>
答案 0 :(得分:0)
在WordPress中,类别是内置分类法。然后在理论上,以下应该有效。
$args = array(
'post_type' => array('post', 'webinar'),
'posts_per_page' => 10,
'paged' => $paged,
'page' => $paged,
'tax_query' => array(
'relation' => 'OR',
array(
'taxonomy' => 'archive-categories',
'field' => 'slug'
'terms' => 'archive-trading-tools',
),
array(
'taxonomy' => 'category',
'field' => 'term_id',
'terms' => 12
)
)
);
$query = new WP_Query( $args );
答案 1 :(得分:0)
要扩展@ depiction的答案,您在tax_query中的'terms'应该是“term”而不是“terms”。不在最后。
$args = array(
'post_type' => array('post', 'webinar'),
'posts_per_page' => 10,
'paged' => $paged,
'page' => $paged,
'tax_query' => array(
'relation' => 'OR',
array(
'taxonomy' => 'archive-categories',
'field' => 'slug'
'terms' => 'archive-trading-tools',
),
array(
'taxonomy' => 'category',
'field' => 'term_id',
'terms' => 12
)
)
);
$query = new WP_Query( $args );