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

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

سلام به همه ووکامرسی های عزیز، یکی از راه های تشویق کاربران به خرید بیشتر از سایت، حمل و نقل رایگان می باشد. احتمالا داخل فروشگاه های اینترنتی مشاهده کردید زمانی که مبلغ خرید بیشتر از 100 هزار تومان (یا مبلغ دیگری) باشد، گزینه حمل و نقل رایگان فعال می شود. تعریف حمل و نقل رایگان در ووکامرس کاری بسیار ساده است و پیاده سازی آن با روش حمل و نقل پیشفرض امکان پذیر است. مسئله ای که وجود دارد حذف روش های حمل و نقل پولی هنگام در دسترس بودن حمل و نقل رایگان می باشد. جهت انجام این کار می توانید کد زیر را به فایل functions.php قالبتون اضافه کنید:

add_filter( 'woocommerce_package_rates', 'woocommerce_package_rates_hide_free', 100 );

function woocommerce_package_rates_hide_free( $rates ) {
	$free = array(); // snippets.ir
	
	foreach ( $rates as $rate_id => $rate )
		if ( 'free_shipping' === $rate->method_id ) {
			$free[ $rate_id ] = $rate;
			break;
		}
	
	return ! empty( $free ) ? $free : $rates;
}

این کد، تمامی روش های حمل و نقل (پست سفارشی، پیشتاز یا پیک موتوری و …) را هنگامی که روش حمل و نقل رایگان در دسترس است مخفی می کند و بصورت پیشفرض روش حمل و نقل رایگان را انتخاب می کند.

راستی، افزونه فارسی حمل و نقل ووکامرس را امتحان کرده اید؟

10 thoughts on “مخفی کردن روش های ارسال هنگام در دسترس بودن حمل و نقل رایگان

  1. میشه این کد رو کاری کرد که برای روشهای ارسال هم کار کنه؟
    یعنی وقتی کلاس ارسال تعریف میکنیم، پیشفرض فقط اون کلاس و هزینه اش رو نشون بده و سایر روشها (پیشتاز، پیک موتوری و … ) رو نشون نده؟

  2. سلام خسته نباشید این کد را میشه کاری کرد که تحویل فقط برای تهران حذف بشه بقیه شهرها حذف نشه ؟ اگه میشه لطفا میشه کدش رو همینجا بنویسید کد کاملش رو ممنون میشم من اشنایی به کد نویسی ندارم اگه برام بنویسید ممنون میشم.

  3. سلام
    کدی هست که روش حمل رو بر اساس کمترین عدد به بیشترین عدد سورت کنه ؟
    مثلا حمل باربری رایگان
    تیپاکس ۱۰۰۰ تومن
    پیشتاز ۵۰۰ تومان
    و دیفالت روی باربری بیاد

  4. سلام.
    با توجه به صحبت شما:
    بله. در خط ۷ می توانید یک شرط اضافه کنید که اگر تحویل محلی هست به آرایه free اضافه شود.
    میتوانید نمونه بفرستید؟
    ساعت ها انجام دادم اما نشد
    ممنون از سایت خوبتون

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.