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

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

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

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

شروع کار

برای نمایش محصولات فروشگاه بر اساس موجودی شما میتوانید به سادگی کد زیر را در فایل functions.php قالب وردپرس خود قرار دهید:

/**
* Sorting out of stock WooCommerce products - Order product collections by stock status, in-stock products first.
*/
class iWC_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 iWC_Orderby_Stock_Status;
/**
* END - Order product collections by stock status, instock products first.
*/

 

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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *