我想在列表底部的Woocommerce分类页面中放入缺货产品,但我想保留初始用户的订单。 因此,例如,如果客户选择“按价格订购”,则应按价格产品订购并在列表顶部显示“有货”产品,然后按价格订购并在底部显示缺货产品。因此,它将进行某种单独的查询。 目前,我的代码如下:
add_action( 'woocommerce_product_query', 'sort_by_stock_status', 999 );
function sort_by_stock_status( $query ) {
if ( is_admin() ) return;
$meta_query = $query->get('meta_query');
$orderby = $query->get('orderby');
$meta_query['stock_status'] = array('key' => '_stock_status', 'compare' => 'EXISTS');
$query->set('meta_query', $meta_query);
$orderby['stock_status'] = 'ASC';
$query->set('orderby', $orderby);
}
所以线索是,它将首先执行用户的订购,以及由代码添加的库存订购。但是由于某种原因,该代码无法正常工作。