نحوه پنهان کردن روش های حمل و نقل برای شرایط خاص

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

مخفی کردن روش های حمل و نقل برای شرایط خاص

ووکامرس یکی از بهترین راه حل های تجارت الکترونیک است که روش های حمل و نقل مانند حمل و نقل رایگان ، نرخ ثابت و وانت محلی را ارائه می دهد. شما می توانید آنها را برای مناطق حمل و نقل مختلف بر اساس مکان ها تنظیم کنید. به عنوان مثال ، گزینه ارسال رایگان فقط برای کدپستی در نزدیکی محل فروشگاه و گزینه نرخ ثابت برای سایر مناطق تحویل قابل استفاده است.

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

  • اگر وزن سفارش بیش از تعداد معینی از پوند یا کیلوگرم باشد ، ارسال رایگان نباید انجام شود.
  • هنگامی که روش حمل و نقل در دسترس است ، همچنین بر اساس تعداد مقادیر یا قیمت آن سفارش است. به عنوان مثال ، اگر کل آن 500 دلار باشد ، فقط روش ارسال رایگان باید در دسترس باشد.

علاوه بر این ، سایر شرایطی که روش های حمل و نقل باید در هنگام پرداخت نشان داده شود یا پنهان شود. با این حال ، این پست شرایطی را که در بالا بیان کردم توضیح می دهد.

مراحل پنهان کردن روشهای حمل و نقل ووکامرس برای شرایط خاص

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

  • وارد سایت وردپرس خود شوید و به عنوان کاربر مدیر به داشبورد دسترسی پیدا کنید.
  • از منوی داشبورد ، روی منوی ظاهر> منوی ویرایشگر تم کلیک کنید. وقتی صفحه ویرایشگر تم باز شد ، به دنبال فایل توابع موضوع باشید تا عملکرد را برای مخفی کردن روش های حمل و نقل ووکامرس در شرایط خاص اضافه کنید.
  • کد زیر را به فایل functions.php اضافه کنید:
/**

 * Hide free shipping when the order weight is more than 10kgs.

 *

 * @param array $rates Array of rates found for the package.

 * @return array

 */

function njengah_hide_free_shipping_for_order_weight( $rates, $package ) {

    $order_weight = WC()->cart->get_cart_contents_weight();

    if ( $order_weight > 7 ) {

        foreach( $rates as $rate_id => $rate_val ) {

            if ( 'free_shipping' === $rate_val->get_method_id() ) {

                unset( $rates[ $rate_id ] );

            }

        }

    }

    return $rates;

}

add_filter( 'woocommerce_package_rates', 'njengah_hide_free_shipping_for_order_weight', 100, 2 );
  • این نتیجه است:

کد چگونه کار می کند

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

مثال دیگر این بود که در هنگام تسویه حساب زمانی که مجموع سفارش بیش از 500 دلار است ، فقط ارسال رایگان مجاز است. با افزودن کد زیر در فایل functions.php می توانید به این مهم برسید:

/**

* Hide shipping rates when the order total is more than $250.

* @param array $rates Array of rates found for the package.

* @return array

*/

function njengah_hide_shipping_for_order_total( $rates ) {

$free = array();

$order_total = WC()->cart->get_subtotal();

if( $order_total > 500 ) {

foreach ( $rates as $rate_id => $rate ) {

if ( 'free_shipping' === $rate->get_method_id() ) {

$free[ $rate_id ] = $rate;

}

}

}

return ! empty( $free ) ? $free : $rates;

}

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

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

این نتیجه است:

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

نتیجه

به طور خلاصه ، این پست نشان می دهد که چگونه می توانید روشهای حمل و نقل را برای شرایط خاصی که شامل شرایط نمی شوند پنهان کنید. با این حال ، اگر به قابلیت های اضافی نیاز دارید ، می توانید از افزونه ای مانند Flexible Shipping Pro for ووکامرس by WP Desk برای فعال کردن روشهای حمل و نقل بر اساس شرایط خاص استفاده کنید. قطعات کدی را که به اشتراک گذاشته ام اضافه کنید تا به گزینه های حمل و نقل پیشرفته دست یابید.

دیدگاه‌ها و پرسش‌ها

برای ارسال نظر نیاز است تا ابتدا وارد سایت شوید.

هیچ نظری ارسال نشده است.

در این مقاله قصد داریم تا درباره نحوه پنهان کردن روش های حمل و نقل برای شرایط خاص صحبت کنیم.


قیمت آموزش
رایگان
نوع دسترسی
رایگان

این مقاله در حال حاضر تنها به روش رایگان در دسترس می باشد.

ناصر خالدی
مدرس دوره

ناصر خالدی

مهندس شبکه, امنیت, برنامه نویسی تلفن های هوشمند, طراح وب سایت و متخصص هوش مصنوعی

گفتگوی برنامه نویسان

بخشی برای حل مشکلات برنامه‌نویسی و مباحث پیرامون آن

مقالات پیشنهادی

پی اچ پی - PHP

با استفاده از این زبان می توان وب سایت های پویا طراحی کرد, این زبان می تواند با HTML ادغام شود, در حقیقت یک زبان اسکریپتی متن باز و رایگان است. یعنی زمانی که سرور درخواست ...


۹۱۳
۰
۱۳ آذر ۱۳۹۹

هوش مصنوعی

هوش مصنوعی یا هوش ماشینی, به هوشمندی نشان داده شده توسط ماشین در شرایط مختلف گفته میشود که مقابل هوش طبیعی در انسان ها قرار دارد که ...


۸۰۷
۰
۱۱ آذر ۱۳۹۹

اندروید

اندروید یک سیستم عامل می باشد که توسط گوگل توسعه داده میشود, این سیستم عامل بر پایه نسخه ی اصلاح شده ی هسته ی لینوکس و دیگر نرم افزار های متن باز طراحی شده است و ...


۱۰۳۲
۰
۲۹ آبان ۱۳۹۹

نود جی اس

توسعه دهندگان نود جی اس, زبان جاوا اسکریپت را از یک زبان قابل اجرا در مرورگر خارج کرده و به زبانی تبدیل کردن که بتوان آن را بصورت یه اپلیکیشن مستفل اجرا کرد و ...


۸۹۰
۰
۱۲ آذر ۱۳۹۹