Woocommerce 获取类别循环,排除另一个类别
Woocommerce get category loop, exclude another category
我不知道我解释的是否正确,但我有一个循环将所有产品分配到特定类别(在本例中,当前季节 - 这是针对表演艺术组织的)。
但是由于各种原因每个产品实际上被分配到多个类别,在这种情况下我希望所有产品都分配到'current-season',但是NOT也分配到类别 'series'。
我尝试了以下方法,但它没有改变我的查询显示。
它仍然显示分配给 'current-season' 的所有内容。
$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"!!
提前致谢!
我相信你的 '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
它被排除在外
我不知道我解释的是否正确,但我有一个循环将所有产品分配到特定类别(在本例中,当前季节 - 这是针对表演艺术组织的)。
但是由于各种原因每个产品实际上被分配到多个类别,在这种情况下我希望所有产品都分配到'current-season',但是NOT也分配到类别 'series'。
我尝试了以下方法,但它没有改变我的查询显示。
它仍然显示分配给 'current-season' 的所有内容。
$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"!!
提前致谢!
我相信你的 '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
它被排除在外