سپهر شاهبیک

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

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

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

استفاده از کد PHP برای انتقال محصولات ناموجود به انتهای لیست

برای این کار کافی است از کد زیر در بخش function.php قالب خود استفاده کنید:


// show out of stock products at the end in woocommerce
if (in_array('woocommerce/woocommerce.php', apply_filters('active_plugins', get_option('active_plugins')))) {
    add_filter('posts_clauses', 'order_by_stock_status', 2000);
}

function order_by_stock_status($posts_clauses) {
    global $wpdb;
  
    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;
}

پاسخی بنویسید