从循环短代码 Woocommerce 中排除产品类别

Exclude Products Category from loops shortcode Woocommerce

我正在尝试排除或删除 'custom' 产品类别,它在商店页面上也能正常工作,在主页中,当我尝试从短代码中排除时,该类别的产品没有显示,但在另一个短代码,在同一页面(主页)上,当我尝试在另一个容器中仅显示另一个类别的产品时,它给我带来了一些问题,它不起作用,它显示了 'NEWEST' 的所有产品,而不仅仅是来自那个特定的产品我过滤了类别,有人可以帮我解决吗? 谢谢

add_action( 'woocommerce_shortcode_products_query' , 'exclude_cat_shortcodes');
 
function exclude_cat_shortcodes($query_args){
 
    $query_args['tax_query'] =  array(array( 
            'taxonomy' => 'product_cat', 
            'field' => 'slug', 
            'terms' => 'custom', // slug category that I want to exclude
            'operator' => 'NOT IN'
        )); 
 
    return $query_args;
}

要从查询中排除类别或 post 类型,请尝试将 slug 类别放在数组中?这是为了允许排除多个 categories/post-types。

变化:

'terms' => 'custom'

至:

'terms' => ['custom']

要防止 tax_query 覆盖,请执行此操作

$query_args['tax_query'][] = array( 
    'taxonomy' => 'product_cat', 
    'field' => 'slug', 
    'terms' => ['custom'], // slug category that I want to exclude
    'operator' => 'NOT IN'
);