مخفی کردن محصولات ناموجود در سایت | مخفی کردن قیمت محصولات ناموجود در ووکامرس

مخفی کردن محصولات ناموجود در سایت

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

 

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

 

مخفی کردن محصولات ناموجود در سایت

 

روش اول : مراجعه به تنظیمات ووکامرس (ساده ترین راه)

این بخش به طور پیش فرض در ووکامرس وجود دارد، به مسیر : ووکامرس » پیکربندی » تب محصولات » تب فهرست موجودی مراجعه کنید و تیک مربوط به گزینه : مخفی کردن محصولاتی که در انبار موجود نیستند  را بزنید تا محصولات ناموجود در فروشگاه (صفحات بایگانی) مخفی شوند.

 

تنظیمات عدم نمایش محصولات ناموجود

 

 

روش دوم : استفاده از کُد

 

برای این کار کافی است کد زیر را به فایل functions.php قالب خود اضافه کنید.

 


add_action( 'pre_get_posts', 'mweb_hide_out_of_stock_products' );

function mweb_hide_out_of_stock_products( $q ) {

    if ( ! $q->is_main_query() || is_admin() ) {
        return;
    }

    if ( $outofstock_term = get_term_by( 'name', 'outofstock', 'product_visibility' ) ) {

        $tax_query = (array) $q->get('tax_query');

        $tax_query[] = array(
            'taxonomy' =  'product_visibility',
            'field' =  'term_taxonomy_id',
            'terms' =  array( $outofstock_term->term_taxonomy_id ),
            'operator' =  'NOT IN'
        );

        $q->set( 'tax_query', $tax_query );

    }

    remove_action( 'pre_get_posts', 'mweb_hide_out_of_stock_products' );

}

 

کاربرانی که از محصولات ماهدیس وب استفاده می کنند، باید این کد را به فایل myfunctions اضافه کنند.

این روش تنها محصولات ناموجودی که در صفحات بایگانی (فروشگاه) نمایش داده می شوند را مخفی می کند.

 

مخفی کردن قیمت محصولات ناموجود در ووکامرس

هر زمانی که موجودی یک محصول در ووکامرس به پایان می رسد موجودی آن محصول در فروشگاه شما صفر می شود .

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

اما با اینکه محصول مورد نظر موجودی ندارد اما همچنان قیمت آن نمایش داده می شود و ممکن است بسیاری از افراد تمایلی به نمایش قیمت محصولاتی که موجودی ندارند نداشته باشند

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

برای این کار کافی است کد زیر را به فایل functions.php قالب خود اضافه کنید.

add_filter( 'woocommerce_variable_sale_price_html', 'mweb_hide_price_out_of_stock_products', 10, 2 );
add_filter( 'woocommerce_variable_price_html', 'mweb_hide_price_out_of_stock_products', 10, 2 );
add_filter( 'woocommerce_get_price_html', 'mweb_hide_price_out_of_stock_products', 10, 2 );

function mweb_hide_price_out_of_stock_products( $price, $product ) {
 if ( ! $product->is_in_stock()) {
  $price = '';
 }
 return $price;
}

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

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

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

آیا شما هم می‌خواهید محصولات ناموجود فروشگاه اینترنتی ووکامرس خود را در انتهای لیست محصولات نمایش دهید ؟

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

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

این مرتب سازی در گزینه پیش فرض کشویی اعمال خواهد شد.

add_filter( 'woocommerce_get_catalog_ordering_args', 'mweb_first_sort_by_stock_amount', 9999 );
 
function mweb_first_sort_by_stock_amount( $args ) {
   $args['orderby'] = 'meta_value';
   $args['order'] = 'ASC';
   $args['meta_key'] = '_stock_status';
   return $args;
}

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

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

YITH WooCommerce Ajax Product Filter و Product Filter for WooCommerce

از محبوب ترین و پرکاربرد ترین افزونه هایی هستن که به صورت ایجکس(بدون لود صفحه) قادر به مرتب سازی محصولات خواهد بود

امیدواریم از خواندن این مقاله لذت برده باشید.

 

بیشتر بخوانید : تنظیم مرتب سازی محصولات براساس موجودی در ووکامرس

دیدگاه کاربران
  • پرویز ۲۰ فروردین ۱۴۰۲

    با سلام
    ممنونم

  • ساغر ۱۷ بهمن ۱۴۰۰

    کاربردی عالی
    ممنون

  • مهدی ۱۵ مرداد ۱۴۰۰

    ممنون به خاطر پست مفیدتون اما چطور میتونم به جای مخفی کردن قیمت محصول با اتمامش کلمه “اتمام موجودی” نمایش بدم؟

    • کارشناس ۱۶ مرداد ۱۴۰۰

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

  • سجاد ۲۶ بهمن ۱۳۹۹

    سلام خسته نباشید
    چطور میشه محصولات ناموجود رو توی فروشگاه داشت ، ولی تو صفحه اول مخفی کرد؟
    برای مثال من تو صفحه اول ( با ویژوال کامپوزر ) یه بخشی رو دارم که محصولات رو به صورت تصادفی نشون میده
    میخوام محصولات ناموجود توی این قسمتا نباشن
    ممنون از شما

    • ماهدیس وب ۳۰ بهمن ۱۳۹۹

      سلام
      باید المانی که استفاده میکنید این قابلیت رو داشته باشه تا بتونید سورت کنید

  • رضا ۸ آبان ۱۳۹۹

    وقتی تیک مخفی کردن محصولاتی که در انبار موجود نیستند را میزنیم از لحاظ سئو چه پیامد هایی دارد ؟

    • کارشناس ۸ آبان ۱۳۹۹

      سلام و درود

      با توجه به اینکه این مخفی سازی در صفحات بایگانی می باشد تاثیر زیادی در سایت نخواهد داشت اما محصولات ناموجود نیز باید در دید کاربر باشد تا از وجود اون در سایت شما باخبر باشند.

  • store.hep30 ۱۴ مهر ۱۳۹۹

    سلام وقت بخیر
    چگونه میشه فقط قیمت محصولات ناموجود حذف بشه؟ یعنی خود محصول در سایت باقی بمونه و بجای قیمت ناموجود نمایش داده بشه

    • کارشناس ۱۶ مهر ۱۳۹۹

      سلام و درود

      چنین امکانی وجود ندارد

ارسال دیدگاه

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

کد امنیتی Time limit is exhausted. Please reload CAPTCHA.