learndl zhaket triboon mymember webaidin

نمایش محصولات ناموجود ووکامرس در انتهای لیست

 نمایش محصولات ناموجود ووکامرس در انتهای لیست

چگونه محصولات ناموجود ووکامرس را در اخر لیست محصولات نمایش بدهیم  ؟

نمایش محصولات ناموجود ووکامرس در انتهای لیست یکی از ترفندهای بسیار کاربردی و ضروری برای فروشگاه های ووکامرسی است. چرا که در صورت زیاد بودن تعداد محصولات ناموجود، ممکن است کالاهای موجود آن طور که باید در معرض دید کاربران قرار نگیرند.

ووکامرس به طور پیش‌فرض دارای چند ترتیب نمایش مختلف برای محصولات است که توسط کاربر هم قابل تغییر هستند؛ اما در این بین امکان نمایش کالاهای ناموجود در انتهای لیست وجود ندارد. همین امر می‌تواند موجب از دست دادن مشتریان زیادی برای فروشگاه شما شود؛ چون احتمال نمایش محصولات موجود را کاهش می‌دهد.

خوشبختانه راه حل ساده و مناسبی برای انجام این کار وجود دارد که با اضافه کردن چند خط کد به قالب، قابلیت مورد نظر فعال می‌شود.

کد نمایش محصولات ناموجود ووکامرس در انتها

کافیست قطعه کد زیر را به فایل functions.php قالب خود اضافه کنید. توجه داشته باشید که در صورت استفاده از Child Theme، این کدها را در فایل functions.php مربوط به Child Theme خود قرار دهید (و نه در قالب اصلی).

/**
* Sorting out of stock WooCommerce products - Order product collections by stock status, in-stock products first.
*/
class Vebeet_Orderby_Stock_Status {
    public function __construct() {
        // Check if WooCommerce is active
        if (in_array('woocommerce/woocommerce.php', apply_filters('active_plugins', get_option('active_plugins')))) {
            add_filter('posts_clauses', array($this, 'order_by_stock_status'), 2000);
        }
    }
    public function order_by_stock_status($posts_clauses) {
        global $wpdb;
        // only change query on WooCommerce loops
        if (is_woocommerce() && (is_shop() || is_product_category() || is_product_tag())) {
            $posts_clauses['join'] .= " INNER JOIN $wpdb->postmeta istockstatus ON ($wpdb->posts.ID = istockstatus.post_id) ";
            $posts_clauses['orderby'] = " istockstatus.meta_value ASC, " . $posts_clauses['orderby'];
            $posts_clauses['where'] = " AND istockstatus.meta_key = '_stock_status' AND istockstatus.meta_value <> '' " . $posts_clauses['where'];
        }
        return $posts_clauses;
    }
}
new Vebeet_Orderby_Stock_Status;
/**
* END - Order product collections by stock status, instock products first.
*/

با آرزوی موفقیت و سلامتی برای شما کاربر عزیز وب سایت وبیت

به این مطلب امتیاز دهید

امتیاز کلی : 4.4 / 5. تعداد آرا : 16

اولین نفر باید که به این مطلب امتیاز میدهید

وبیت این پست توسط نگارش شده است.

در کانال وبیت عضو شو تا از آخرین اخبار ، آپدیت محصولات و تخفیف ها با خبر بشی ☺ عضویت در کانال تلگرام

اشترک گذاری

مقاله های پیشنهادی

وبیت این مطالب را به شما پیشنهاد میدهد

ارسال نظر ( 0 نظر تایید )

نظرات پس از رویت و تایید مدیران نمایش داده می شود
هنوز نظری ثبت نشده است ، اولین نفری باشید که نظر میدهید !
همکاران وبیت