在 WooCommerce 中按日期和库存状态查询产品和订单
Query products and order by date and stocks status in WooCommerce
我已将默认 orderby
查询设置为日期。
如何添加另一个参数以首先在库存产品中显示。
add_filter('woocommerce_get_catalog_ordering_args', 'shop_default_orderby_date');
function shop_default_orderby_date ( $args ) {
if( is_shop() && ( ! isset($_GET['orderby']) || 'menu_order' === $_GET['orderby'] ) ) {
$args['meta_key'] = '';
$args['orderby'] = 'date';
$args['order'] = 'desc';
return $args;
}
}
我遇到了。
有没有办法将这两者结合起来?
add_action( 'woocommerce_product_query', 'sort_by_stock_status_and_menu_order', 999 );
function sort_by_stock_status_and_menu_order( $query ) {
if ( is_admin() ) return;
$query->set( 'meta_key', '_stock_status' );
$query->set( 'orderby', 'meta_value menu_order' );
}
按日期降序展示商品(新品先展示),缺货商品移至列表末尾的解决方案:
add_action( 'woocommerce_product_query', 'sort_by_stock_status_and_date', 999 );
function sort_by_stock_status_and_date( $query ) {
if ( is_admin() ) return;
$query->set( 'meta_key', '_stock_status' );
$query->set( 'orderby', array( 'meta_value' => 'ASC', 'date' => 'DESC' ) );
}
我已将默认 orderby
查询设置为日期。
如何添加另一个参数以首先在库存产品中显示。
add_filter('woocommerce_get_catalog_ordering_args', 'shop_default_orderby_date');
function shop_default_orderby_date ( $args ) {
if( is_shop() && ( ! isset($_GET['orderby']) || 'menu_order' === $_GET['orderby'] ) ) {
$args['meta_key'] = '';
$args['orderby'] = 'date';
$args['order'] = 'desc';
return $args;
}
}
我遇到了
有没有办法将这两者结合起来?
add_action( 'woocommerce_product_query', 'sort_by_stock_status_and_menu_order', 999 );
function sort_by_stock_status_and_menu_order( $query ) {
if ( is_admin() ) return;
$query->set( 'meta_key', '_stock_status' );
$query->set( 'orderby', 'meta_value menu_order' );
}
按日期降序展示商品(新品先展示),缺货商品移至列表末尾的解决方案:
add_action( 'woocommerce_product_query', 'sort_by_stock_status_and_date', 999 );
function sort_by_stock_status_and_date( $query ) {
if ( is_admin() ) return;
$query->set( 'meta_key', '_stock_status' );
$query->set( 'orderby', array( 'meta_value' => 'ASC', 'date' => 'DESC' ) );
}