اگر وبسایت فروشگاهی داشته باشید قطعا با مشکل متوقف کردن فروش برخورد کرده اید!
گاهی مواقع لازم است فروشگاه را برای مدت کوتاهی غیرفعال کنید، مثل زمانهایی که قصد بروزرسانی موجودیها را دارید، قیمتها تغییر میکنند یا به صورت کلی اصلا قصد فروش ندارید!!
اما آیا راهی هست که بدون بستن کل فروشگاه یا غیر فعال کردن تک تک محصولات، فقط خرید را متوقف کنید و هر وقت خواستید، دوباره فعالش کنید؟ ✅
🔹 مشکل کجاست؟
در ووکامرس، بهصورت پیشفرض امکان غیرفعالسازی فروشگاه بهطور موقت وجود ندارد و اکثر کاربران مجبورند یا تمام محصولات را یکییکی غیرفعال کنند یا کل سایت را ببندند که این کار میتواند تأثیر منفی روی اعتماد مشتریها قطعا سئو بگذارد.
اما خبر خوب اینجاست: 🎯
با یک راهکار ساده و سریع میتوانید فروشگاه خود را بدون نیاز به بستن کامل سایت، در عرض چند دقیقه غیرفعال کنید و هر زمان که نیاز داشتید، مجدداً فعالش کنید.
چطور میتوان فروش را موقتی متوقف کرد؟
در کد زیر بهتون میگیم که چطوری میتوانید این کار را انجام دهید.
// تعریف آرایه سراسری برای محصولات غیرفعال function tav_get_disabled_products() { return array(147, 76); // اگر خالی باشد، همه محصولات غیرفعال خواهند شد } // غیرفعال کردن خرید از طریق سبد خرید (جلوگیری از افزودن به سبد خرید) add_filter( 'woocommerce_add_to_cart_validation', 'tav_prevent_add_to_cart', 10, 2 ); function tav_prevent_add_to_cart( $valid, $product_id ) { $disabled_products = tav_get_disabled_products(); if ( empty( $disabled_products ) || in_array( $product_id, $disabled_products ) ) { wc_add_notice( '🚫 متاسفیم، فروش این محصول در حال حاضر غیرفعال است.', 'error' ); return false; } return $valid; } // غیرفعال کردن خرید در صفحه محصول add_filter( 'woocommerce_product_add_to_cart_url', 'tav_disable_add_to_cart_button', 10, 2 ); function tav_disable_add_to_cart_button( $url, $product ) { $disabled_products = tav_get_disabled_products(); if ( empty( $disabled_products ) || in_array( $product->get_id(), $disabled_products ) ) { return 'javascript:void(0);'; // جلوگیری از عملکرد دکمه } return $url; } // تغییر متن دکمه "افزودن به سبد خرید" در صفحه محصول add_filter( 'woocommerce_product_single_add_to_cart_text', 'tav_custom_add_to_cart_text', 10, 2 ); function tav_custom_add_to_cart_text( $text, $product ) { $disabled_products = tav_get_disabled_products(); if ( empty( $disabled_products ) || in_array( $product->get_id(), $disabled_products ) ) { return '🚫 فروش غیرفعال است'; // تغییر متن دکمه } return $text; } // نمایش پیام هنگام کلیک روی دکمه در صفحه محصول add_action( 'wp_footer', 'tav_add_disable_script' ); function tav_add_disable_script() { $disabled_products = tav_get_disabled_products(); ?> <script type="text/javascript"> jQuery(document).ready(function($) { $('.single_add_to_cart_button').on('click', function(e) { var productID = $('input[name="product_id"]').val(); var disabledProducts = <?php echo json_encode($disabled_products); ?>; // اگر لیست خالی باشد، برای همه محصولات اعمال شود if (disabledProducts.length === 0 || disabledProducts.includes(parseInt(productID))) { e.preventDefault(); // جلوگیری از ارسال فرم خرید alert('🚫 متاسفیم، فروش این محصول در حال حاضر غیرفعال است.'); } }); }); </script> <?php } // غیرفعال کردن خرید از صفحه آرشیو (Shop) و دستهبندیها add_filter( 'woocommerce_loop_add_to_cart_link', 'tav_disable_loop_add_to_cart_button', 10, 2 ); function tav_disable_loop_add_to_cart_button( $button, $product ) { $disabled_products = tav_get_disabled_products(); if ( empty( $disabled_products ) || in_array( $product->get_id(), $disabled_products ) ) { return '<a href="javascript:void(0);" class="button disabled" style="background-color: #ccc; cursor: not-allowed;">🚫 فروش غیرفعال</a>'; } return $button; }