排序剩余缺货的产品

时间:2018-06-20 14:09:33

标签: woocommerce

StackOverflow中有很多答案,但是旧的答案对我来说,都没有使用最新版本的Woocommerce。

我的页面已经按照最新商品进行排序,但是我想将所有售罄的商品移到最后一页。

我尝试过的最后一个代码:

1:

add_action( 'pre_get_posts', function ( $q ) {
if (   $q->is_main_query()        // Only target the main query
     && $q->is_post_type_archive() // Change to suite your needs
) {
    $q->set( 'meta_key', '_stock_status' );
    $q->set( 'orderby',  'meta_value'    );
    $q->set( 'order',    'ASC'           );
}
}, PHP_INT_MAX );

2:

add_filter( 'woocommerce_shortcode_products_query', function( $query_args, $atts, $loop_name ){
    if( $loop_name == 'recent_products' ){
        $query_args['meta_query'] = array( array(
            'key'     => '_stock_status',
            'value'   => 'outofstock',
            'compare' => 'NOT LIKE',
        ) );
    }
    return $query_args;
}, 10, 3);

0 个答案:

没有答案