Php 从WP_查询中排除WooCommerce产品类别
我已将以下参数定义为查询的一部分:Php 从WP_查询中排除WooCommerce产品类别,php,wordpress,woocommerce,categories,product,Php,Wordpress,Woocommerce,Categories,Product,我已将以下参数定义为查询的一部分: $args = apply_filters('woocommerce_related_products_args', array( 'post_type' => 'product', 'author' => $artist, 'post_status' => 'publish', 'meta_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'
)
)
) );
$products = new WP_Query( $args );
我需要从查询中排除名为杂志(slug“杂志”)或ID351的类别
我一直试图在“=>数组('Magazine')中包含'category\uuuu not\u,所以它看起来像这样:
$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 );
但这似乎不起作用
我做错了什么?您应该使用类别\u而不是值中的\u作为这样的数组
$query=newwp_查询(数组('category_unot_in'=>数组('magazies'))代码>
有关详细信息,请查看此
因此,请将您的代码更新为
$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 );
让我知道它是否对您有效。您应该使用中的category\uuu not\u作为如下数组
$query=newwp_查询(数组('category_unot_in'=>数组('magazies'))代码>
有关详细信息,请查看此
因此,请将您的代码更新为
$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\u cat
因此,您需要通过一个简单的tax\u查询
这样做:
$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 );
产品类别是一种自定义分类法Product\u cat
因此,您需要通过一个简单的tax\u查询
这样做:
$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 );
category_unot_uin以数组作为参数,将其设为数组('Magazine')并进行d检查。。!!您好,更新了我的代码,但仍然不适用于我..category_u_unot_uin以数组作为参数,将其设为数组('杂志')并进行d检查。。!!您好,更新了我的代码,但仍然不适用于我..您好,非常感谢,但不适用于我,类别仍在显示..请尝试使用类别id并尝试注释出元查询部分。然后检查,它是否工作?所以我尝试了ID,也注释了meta query部分,并用slug或ID再次尝试,但这一切似乎都不起作用。类别仍在显示。然后,请检查筛选器是否实际工作,或者是否以某种方式被覆盖。您好,非常感谢,但不,没有从我这里工作,类别仍在显示。请尝试使用类别id,并尝试注释元查询部分。然后检查,它是否工作?所以我尝试了ID,也注释了meta query部分,并用slug或ID再次尝试,但这一切似乎都不起作用。类别仍在显示。然后请检查筛选器是否实际工作,或者是否被某些内容覆盖。@JoeBloggs我有一个错误…我没有注意,但它必须是产品类别的税务查询
,而不是元查询
…我已更新并完成…请再试一次搞定了。现在它工作得很好。非常感谢你的帮助@JoeBloggs我有一个错误…我没有注意到,但它必须是产品类别的tax\u查询
,而不是meta\u查询
…我已经更新并完成了…重新尝试一下,你搞定了吗。现在它工作得很好。非常感谢你的帮助!