我不知道我是否正确解释了这个问题,但是我遇到了一个循环,该循环正在拉回分配给特定类别的所有产品(在这种情况下,本季是针对表演艺术组织的)。
但是出于各种原因,每个产品实际上都被分配到多个类别,在这种情况下,我希望所有产品都分配到“当前季节”,但是不也分配到了“系列”类别。
我尝试了以下操作,但是它并没有改变我的查询显示。
它仍然显示分配给“当前季节”的所有内容。
$args_right = array(
'post_type' => 'product',
'posts_per_page' => 999,
//'product_cat' => 'current-season',
'tax_query' => array(
array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => 'series',
'operator' => 'NOT IN'
),
array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => 'current-season',
'operator' => 'IN'
)
),
'meta_key' => 'date',
'orderby' => 'meta_value_num',
'order' => 'ASC'
);
我确定我只是缺少一些非常明显的东西。我把头撞在墙上,然后走到“ D'UH”!
谢谢!
答案 0 :(得分:1)
如果您想按日期排序帖子,我相信'meta_key' => 'date'
的问题,您可以使用以下查询。
$args_right = array(
'post_type' => 'product',
'posts_per_page' => 12,
'orderby' => 'date',
'order' => 'ASC',
'tax_query' => array(
array(
'taxonomy' => 'product_cat',
'terms' => array('current-season'),
'field' => 'slug',
'operator' => 'IN' // Possible values are 'IN', 'NOT IN', 'AND'.
), array(
'taxonomy' => 'product_cat',
'terms' => array('series'),
'field' => 'slug',
'operator' => 'NOT IN' // Possible values are 'IN', 'NOT IN', 'AND'.
)
),
);
$loop = new WP_Query($args_right);
if ($loop->have_posts()) {
while ($loop->have_posts()) :
$loop->the_post();
wc_get_template_part('content', 'product');
endwhile;
} else {
echo __('No products found');
}
wp_reset_postdata();
我在本地测试了此查询,并显示了所有具有current-season
类别的产品,并且如果该类别中的一个产品分配给另一个类别或子类别series
,则将其排除在外