نمایش کالای موجود در ابتدا
حتما دیده اید در بسیاری سایت های فروشگاهی کالاهایی که موجودی ندارند در انتهای لیست نمایش داده می شوند. در ووکامرس این ترتیب وجود ندارد و کالاها بر اساس حروف الفبا نمایش داده می شوند اما با قراردادن کد زیر داخل فایل functions.php قالب سایت خود می توانید این تغییر را در برگه فروشگاه سایت خود اعمال کنید:
1 2 3 4 5 6 7 |
add_action( 'woocommerce_product_query', 'wootips_sort_by_stock_status_then_alpha', 999 ); function wootips_sort_by_stock_status_then_alpha( $query ) { if ( is_admin() ) return; $query->set( 'meta_key', '_stock_status' ); $query->set( 'orderby', array( 'meta_value' => 'ASC' ) ); } |
همچنین با استفاده از کد زیر می توانید این تغییر را در shortcode مربوط به فروشگاه ووکامرس و یا products اعمال نمایید. توجه داشته باشید که بایستی شورت کد مربوطه را به همراه پارامتر orderby استفاده نمایید و مقدار آن را “stock” قرار دهید.
1 2 3 4 5 6 7 8 9 |
add_filter('woocommerce_shortcode_products_query', 'wootips_sort_by_stock_status_shortcode', 999, 3); function wootips_sort_by_stock_status_shortcode( $args, $atts, $type ) { if ( $atts['orderby'] == "stock" ) { $args['orderby'] = array( 'meta_value' => 'ASC' ); $args['meta_key'] = '_stock_status'; } return $args; } |
شورت کد نهایی:
1 |
[products orderby = "stock"] |