رفتن به مطلب

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


hamed1302

پست های پیشنهاد شده

سلام وقت بخیر
ما تو سایت 3 مدل ارسال داریم
1:ارسال پست معمولی که هزینه اون 10 تومن هست و در سبد خرید اضافه میشه به قیمت کل
2:ارسال با تیپاکس که پسکرایه هست و مشتری هنگام دریافت محصول هزینه رو به خود پست پرداخت میکنه و در سبد خرید هزینه جداگانه اضافه نمیشه
3:ارسال رایگان هست که حداقل خرید 150 تومن هست

مثلا یه شخص میاد و 2 تا کالا رو به سبد اضافه میکنه یکی از کالا ها برای ارسال پست معمولی و کالای دیگه برای تیپاکس تنظیم شده و وقتی که طرف میاد به سبد خرید این دو گزینه رو میتونه مشاهده کنه و از بین این دوتا انتخاب کنه
حالا چطوری میشه تنظیم کرد که وقتی دو کالا با شرایط بالا به سبد خرید اضافه میشن دیگه پست معمولی نشان داده نشه و فقط تیپاکس نمایش داده بشه و وقتی سبد به اندازه ارسال رایگان میرسه دیگه اون دو تا گزینه بعدی رو نشون نده و فقط ارسال رایگان نمایش داده بشه؟
ممنون
 

لینک به ارسال
در 7 ساعت قبل، hamed1302 گفته است :

سلام وقت بخیر
ما تو سایت 3 مدل ارسال داریم
1:ارسال پست معمولی که هزینه اون 10 تومن هست و در سبد خرید اضافه میشه به قیمت کل
2:ارسال با تیپاکس که پسکرایه هست و مشتری هنگام دریافت محصول هزینه رو به خود پست پرداخت میکنه و در سبد خرید هزینه جداگانه اضافه نمیشه
3:ارسال رایگان هست که حداقل خرید 150 تومن هست

مثلا یه شخص میاد و 2 تا کالا رو به سبد اضافه میکنه یکی از کالا ها برای ارسال پست معمولی و کالای دیگه برای تیپاکس تنظیم شده و وقتی که طرف میاد به سبد خرید این دو گزینه رو میتونه مشاهده کنه و از بین این دوتا انتخاب کنه
حالا چطوری میشه تنظیم کرد که وقتی دو کالا با شرایط بالا به سبد خرید اضافه میشن دیگه پست معمولی نشان داده نشه و فقط تیپاکس نمایش داده بشه و وقتی سبد به اندازه ارسال رایگان میرسه دیگه اون دو تا گزینه بعدی رو نشون نده و فقط ارسال رایگان نمایش داده بشه؟
ممنون
 

سلام. کد زیر رو به فایل functions.php قالب فعال/قالب فرزند تون اضافه کنید:

add_filter( 'woocommerce_package_rates', 'ywp_conditional_shipping', 100 );
function ywp_conditional_shipping( $rates ) {
	$new_rate = array();

	foreach ( $rates as $rate_id => $rate ) {
		if ( 'free_shipping' === $rate->method_id ) {
			$new_rate[ $rate_id ] = $rate;
			break;
		}
	}

	if( empty( $new_rate ) ) {
		foreach ( $rates as $rate_id => $rate ) {
			if ( 'local_pickup' === $rate->method_id ) {
				$new_rate[ $rate_id ] = $rate;
				break;
			}
		}
	}

	return ! empty( $new_rate ) ? $new_rate : $rates;
}

داخل تنظیمات حمل و نقل هم که باید یه روش حمل و نقل رایگان اضافه کنید با شرط حداقل خرید 150 هزار تومن و یه پرداخت در محل و یه نرخ ثابت با مبلغ 10 هزار تومن.

  • پسندیدن 4
لینک به ارسال

لطفا برای ارسال دیدگاه وارد شوید

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



ورود به حساب کاربری
×
×
  • اضافه کردن...