有一个WordPress / WooCommerce网站,该网站使用默认的WooCommerce循环显示按价格升序排序的产品。有些产品的价格为零,有些没有价格,我想在清单末尾显示它们,而不是在wooCommerce产品列表的开头。
我尝试了这个function.php代码,它使产品不可见:
add_filter( 'woocommerce_product_query_meta_query', 'shop_only_instock_products', 10, 2 );
function shop_only_instock_products( $meta_query, $query ) {
// In frontend only
if( is_admin() ) return $meta_query;
$meta_query['relation'] = 'OR';
$meta_query[] = array(
'key' => '_price',
'value' => '',
'type' => 'numeric',
'compare' => '!='
);
$meta_query[] = array(
'key' => '_price',
'value' => 0,
'type' => 'numeric',
'compare' => '!='
);
return $meta_query;
}