gpt4 book ai didi

php - 从 WP_Query 中排除 WooCommerce 产品类别

转载 作者:行者123 更新时间:2023-12-02 15:04:30 24 4
gpt4 key购买 nike

我已将以下参数定义为查询的一部分:

$args = apply_filters('woocommerce_related_products_args', array(
'post_type' => 'product',
'author' => $artist,
'post_status' => 'publish',
'meta_query' => array(
array(
'key' => '_visibility',
'value' => array('catalog', 'visible'),
'compare' => 'IN'
)
)
) );
$products = new WP_Query( $args );

我需要从查询中排除名为杂志(别名“杂志”)或 ID 351 的类别。

我一直在尝试包含 'category__not_in' => array('magazines'),所以它看起来像这样:

$args = apply_filters('woocommerce_related_products_args', array(
'post_type' => 'product',
'author' => $artist,
'post_status' => 'publish',
'category__not_in' => array('magazines'),
'meta_query' => array(
array(
'key' => '_visibility',
'value' => array('catalog', 'visible'),
'compare' => 'IN'
)
)
) );
$products = new WP_Query( $args );

但这似乎行不通。

我在这里做错了什么?

最佳答案

产品类别是自定义分类法 product_cat

因此您需要以这种方式在简单的 tax_query 中执行此操作:

$args = apply_filters('woocommerce_related_products_args', 
array(
'post_type' => 'product',
'author' => $artist,
'post_status' => 'publish',
'meta_query' => array(
array(
'key' => '_visibility',
'value' => array('catalog', 'visible'),
'compare' => 'IN'
),
),
'tax_query' => array(
array(
'taxonomy' => 'product_cat',
'field' => 'slug', // Or 'name' or 'term_id'
'terms' => array('magazines'),
'operator' => 'NOT IN', // Excluded
)
)
)
);

$products = new WP_Query( $args );

关于php - 从 WP_Query 中排除 WooCommerce 产品类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47630487/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com