我有一个自定义产品属性名称 affiliate_link
,它是一个 TEXTAREA 类型字段。
在我的产品查询中,我想隐藏此字段为空白的所有产品。
为此,我在我的 function.php 中写了这个,但它不起作用?
add_filter('woocommerce_product_query_tax_query', 'custom_product_query_meta_query', 10, 2);
function custom_product_query_meta_query( $tax_query, $query ) {
$taxonomy = 'pa_affiliate_link';
$tax_query[] = array(
'taxonomy' => $taxonomy,
'field' => 'name',
'terms' => '',
'operator' => '!='
);
return $tax_query;
}
我也试过用这个:
add_filter('woocommerce_product_query_tax_query', 'custom_product_query_meta_query', 10, 2);
function custom_product_query_meta_query( $tax_query, $query ) {
$taxonomy = 'pa_affiliate_link';
$tax_query[] = array(
'taxonomy' => $taxonomy,
'field' => 'name',
'terms' => array(''),
'operator' => 'NOT IN'
);
return $tax_query;
}
但上面的代码不起作用,而是返回所有结果,即使它有一个空白的affiliate_link字段。
请告诉我如何解决这个问题?
答案 0 :(得分:0)
尝试这样的事情。可能需要稍作调整,因为我尚未对此进行测试,但这与使用元与分类法的上述基本相同。
add_filter('woocommerce_product_query_meta_query', 'custom_product_query_meta_query', 10, 2);
function custom_product_query_meta_query( $meta_query, $query ) {
$meta_query[] = array(
'key' => 'affiliate_link',
'value' => '',
'compare' => '!='
);
return $meta_query;
}