غیر فعال کردن امکان خرید در ووکامرس

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

در این آموزش نیز سعی کردیم به کمک هوک woocommerce_is_purchasable این شرایط را پیاده سازی کنیم.

 

1 . ساده ترین راه برای جلوگیری از خرید محصول حذف قیمت آن است. نه اینکه آن را روی 0 قرار دهید، بلکه فیلد قیمت را خالی کنید ، مانند تصویر زیر :

 

 

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

 

 

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

 

 

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

 

هوک woocommerce_is_purchasable

 

به کمک کد زیر و قرار دادن در فایل functions.php خود، می توانید خرید همه محصولات را در وب سایت به طور کامل غیرفعال کنید.

 

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

 

add_filter( 'woocommerce_is_purchasable', 'mweb_catalog_mode_on' );
function mweb_catalog_mode_on( $is_purchasable ) {

$is_purchasable = false;
return $is_purchasable;

}

همچنین میتوان به کمک هوک زیر در یک خط این مورد را پیاده سازی کرد :

 

add_filter( 'woocommerce_is_purchasable', '__return_false' );

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

برای یک شناسه محصول خاص :

 

add_filter( 'woocommerce_is_purchasable', 'mweb_catalog_mode_on_for_product', 10, 2 );
function mweb_catalog_mode_on_for_product( $is_purchasable, $product ) {

$not_purchasable_products = array( 123, 45, 789 );

if( in_array( $product->get_id(), $not_purchasable_products ) ) {
$is_purchasable = false;
}
return $is_purchasable;

}

ا

 

اعداد 123 ، 45 و 789 شناسه محصول هستند.شناسه محصول در بخش محصولات قابل مشاهده می باشد :

 

 

برای دسته های خاص محصول یا برچسب های محصول :

 

add_filter( 'woocommerce_is_purchasable', 'mweb_catalog_mode_on_for_category', 10, 2 );
function mweb_catalog_mode_on_for_category( $is_purchasable, $product ) {
	
	// First – check product categories
	if( has_term( 'uncategorized', 'product_cat', $product->get_id() ) ) {
		$is_purchasable = false;
	}
	// Second – check product tags
	if( has_term( 'newyearsale', 'product_tag', $product->get_id() ) ) {
		$is_purchasable = false;
	}
	
	return $is_purchasable;
}

 

در خط 5 و 9 میتوانید نام دسته یا برچسب را وارد کنید.

دیدگاه کاربران
  • morteza_koohjani ۹ اردیبهشت ۱۴۰۳

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

  • saeed007 ۱۸ فروردین ۱۴۰۳

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

ارسال دیدگاه

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

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