با افزودن این کد به functions.php محصولات شما در صفحه فروشگاه و صفحات دسته بندی محصول براساس اولویت موجودی نمایش داده می شوند و آن دسته محصولاتی که تعداد موجودی آنها به اتمام رسیده است (ناموجود) به انتهای صفحات فروشگاه (بایگانی) منتقل خواهند شد.
در ابتدا لازم است تکه کد زیر را به فایل functions.php قالب خود اضافه کنید.
add_filter( 'woocommerce_get_catalog_ordering_args', 'custom_woocommerce_get_catalog_ordering_args' );
function custom_woocommerce_get_catalog_ordering_args( $args ) {
$orderby_value = isset( $_GET['orderby'] ) ? wc_clean ( $_GET['orderby'] ) : apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) );
if ( 'stock' == $orderby_value ) {
$args['orderby'] = 'meta_value';
$args['order'] = 'asc';
$args['meta_key'] = '_stock_status';
}
return $args;
}
add_filter( 'woocommerce_default_catalog_orderby_options', 'custom_woocommerce_catalog_orderby' );
add_filter( 'woocommerce_catalog_orderby', 'custom_woocommerce_catalog_orderby' );
function custom_woocommerce_catalog_orderby( $sortby ) {
$sortby['stock'] = 'مرتب سازی بر اساس موجودی';
return $sortby;
}
بعد از اضافه کردن کد، در پنل وردپرس به مسیر : نمایش » سفارشی سازی » ووکامرس » کاتالوگ محصول » مرتبسازی پیشفرض محصولات ، مراجعه کنید و از بین آیتم های موجود نوع مرتب سازی رو بر روی موجودی تنظیم کنید.
