شاید برای ما پیش بیاد که محصولاتی که توی فروشگاه ما ناموجود میشن توی صفحه فروشگاه و لیست محصولات دیده نشوند و هر زمان موجود شدند مجدد در لیست ترتیب بندی محصولات نمایش داده شوند و برای این کار از دو روش این تنظیمات را انجام میدیم که ادامه آموزش را همراه ما باشید:
برای اینکار از پیشخوان وردپرس وارد بخش “ووکامرس » پیکربندی » تب محصولات » تب فهرست موجودی” بشید و تیک گزینه “مخفی کردن محصولاتی که در انبار موجود نیستند” را بزنید و تنظیمات را ذخیره کنید.
در صورتی که با روش بالا نتونستید محصولات ناموجود را از دید کاربر خارج کنید میتوانید از کد زیر برای این کار استفاده کنید و این کد را در فایل function.php قالب خود یا با استفاده از آموزش “قرار دادن و تزریق کد php در وردپرس بدون دستکاری قالب” این کد را در سایت خود فراخوانی کنید:
add_action( 'pre_get_posts', 'tmt_hide_out_of_stock_products' );
function tmt_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', 'tmt_hide_out_of_stock_products' );
}