问题描述
我有一个自定义产品属性名称 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','terms' => array(''),'operator' => 'NOT IN'
);
return $tax_query;
}
但上面的代码不起作用,而是返回所有结果,即使它有一个空白的affiliate_link字段。
请告诉我如何解决这个问题?
解决方法
尝试这样的事情。可能需要稍作调整,因为我尚未对此进行测试,但这与使用元与分类法的上述基本相同。
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;
}