پنهان کردن روشهای ارسال با فعال شدن ارسال رایگان
اگر سیستم سایت فروشگاهی شما ووکامرس باشد یک گزینهای به نام ارسال رایگان در ووکامرس وجود دارد؛ در این نوشته به شما آموزش میدهیم که بتوانید هرگاه ارسال رایگان در سایتتان به کاربران نمایش داده شد ارسالهای غیررایگان برای کاربران نمایش داده نشود و تجربه کاربری بهتری برای شما ایجاد شود.
پنهان کردن روشهای ارسال با فعال شدن ارسال رایگان
برای عدم نمایش ارسالهای غیر رایگان در زمان نمایش ارسال رایگان وارد پنل وردپرس خود شوید و در فایل functions.php قالب فعال سایت خود قطه کد زیر را وارد کنید:
add_filter( 'woocommerce_package_rates', 'woocommerce_package_rates_hide_free', 100 );
function woocommerce_package_rates_hide_free( $rates ) {
$free = array();
foreach ( $rates as $rate_id => $rate )
if ( 'free_shipping' === $rate->method_id ) {
$free[ $rate_id ] = $rate;
break;
}
return ! empty( $free ) ? $free : $rates;
}
بعد از ذخیرهی کد بالا هنگامی که کاربری گزینهی ارسال رایگان را در خرید خود دارید، ارسالهای غیر رایگان از صفحهی ثبت سفارش حذف میشود و تجربه کاربری بهتری را پیدا میکند.
نکته: بعد از آپدیت قالب سایت خود این مورد احتمالا مجدد غیرفعال میشود پس باید مجدد بعد از آپدیت این کد را در فایل functions.php خود قرار دهید.
پیشنهاد نویسنده: آموزش تغییر نام کاربری وردپرس
اگر روشهای بهتری برای انجام اینکار در اختیار دارید در بخش نظرات همین نوشته برای ما بنویسید.



















این راهحل تاثیری روی سرعت بارگذاری صفحه تسویه حساب میذاره یا نه؟
این کد به صورت بهینه نوشته شده و تاثیر محسوسی بر سرعت بارگذاری صفحه تسویه حساب نخواهد داشت.
برای چند فروشگاهی بودن سایت هم همین روش جواب میده یا نیاز به تغییر کد هست؟
این کد برای سایتهای تک فروشگاهی طراحی شده و برای سایتهای چندفروشگاهی نیاز به تغییر دارد.
اگر کاربر وارد سایت نشه، این مخفی کردن روش ارسال پولی همچنان کار میکنه؟
این کد فقط زمانی فعال میشود که کاربر وارد سایت شده باشد و ارسال رایگان برای او فعال شده باشد.
روی نسخههای جدید ووکامرس هم جواب میده؟
بله، این کد با نسخههای جدید ووکامرس نیز سازگار است و به درستی کار میکند.
سلام کد خوبی هست و کار کیکند
فقط یک نکته، اگر در فایل function.php قالب child قرار بگیره، دیگه با آپدیت قالب نیازی به قرار دادن مجددش نیست.
موفق باشید