ووکامرس یک سیستم مدیریت موجودی عالی را در اختیار کاربران قرار می دهد که به ساخت یک وب سایت تجارت الکترونیک در کوتاه ترین زمان ممکن کمک می کند. یکی از مهمترین الزامات برای مدیریت موجودی در تجارت الکترونیک، گزینه ای برای مخفی کردن محصولات خارج از انبار است. خوشبختانه ووکامرس با یک راه حل خارج از جعبه برای مخفی کردن محصولات موجود در تنظیمات در تنظیمات ارائه می شود.
اگر شما یک توسعه دهنده ووکامرس هستید که به دنبال راه حل کد هستید، می توانید راه حل را نیز در کد پیاده سازی کنید. در این پست هر دو گزینه را به اشتراک می گذارم تا بتوانید از گزینه ای استفاده کنید که مناسب ترین نیاز شماست.
ووکامرس محصولات موجود در انبار را مخفی کنید
در ووکامرس، محصولات موجود در انبار را با استفاده از گزینه ای که در تنظیمات محصول ارائه شده است، مخفی کنید که نیازی به اضافه کردن کد در قالب یا افزونه خود ندارید.
مراحل پنهان کردن محصولات موجود در انبار در یک محصول
- به زیر منوی ووکامرس -> Settings در داشبورد وردپرس بروید
- روی برگه محصولات > زیر برگه موجودی کلیک کنید
- گزینه Out Of Stock Visibility را علامت بزنید که محصولات موجود در انبار را پنهان می کند
به منوی داشبورد ووکامرس بروید و از برگه محصولات استفاده کنید، روی زیر برگه موجودی کلیک کنید تا گزینه پنهان کردن محصولات موجود در انبار را همانطور که در تصویر زیر نشان داده شده است مشاهده کنید:
این گزینه را علامت بزنید و تنظیمات را ذخیره کنید تا محصولات موجود در انبار را با موفقیت از کاتالوگ پنهان کنید.
روشی جایگزین برای مخفی کردن محصولات خارج از انبار ووکامرس
برای توسعه دهندگان تم ووکامرس یا توسعه دهندگان افزونه، یک راه حل کد نیز می تواند مفید باشد زمانی که می خواهید به طور خودکار محصولات موجود در انبار را مخفی کنید.
میتوانید یک قلاب اقدام اضافه کنید که روی pre_get_posts قلاب میکند و تابع callback باید منطقی را داشته باشد که محصول موجود در انبار را با استفاده از یک جستجوی طبقهبندی پنهان کند. در اینجا نمونه ای از قطعه کد است که برای مخفی کردن محصولات موجود در انبار کاملاً کار می کند:
<?php add_action( 'pre_get_posts', 'njengah_hide_out_of_stock_products' ); function njengah_hide_out_of_stock_products( $query ) { if ( ! $query->is_main_query() || is_admin() ) { return; } if ( $outofstock_term = get_term_by( 'name', 'outofstock', 'product_visibility' ) ) { $tax_query = (array) $query->get('tax_query'); $tax_query[] = array( 'taxonomy' => 'product_visibility', 'field' => 'term_taxonomy_id', 'terms' => array( $outofstock_term->term_taxonomy_id ), 'operator' => 'NOT IN' ); $query->set( 'tax_query', $tax_query ); } remove_action( 'pre_get_posts', 'njengah_hide_out_of_stock_products' ); }
این کد باید به فایل تم یا فرزند تم functions.php یا فایل های افزونه شما اضافه شود.
بسته شدن
اگر می خواهید به سرعت محصول موجود در ووکامرس را مخفی کنید، نیازی به اختراع مجدد چرخ نیست. گزینه ای که به طور پیش فرض در ووکامرس ارائه می شود بهترین و آسان ترین راه حل را بدون ویرایش یک خط کد ارائه می دهد!