این کد یک فیلتر ووکامرس برای سفارشیسازی فیلدهای صفحه تسویه حساب (چکاوت) است که با هدف سادهسازی فرآیند خرید و بهبود تجربه کاربری طراحی شده است.
هدف و دلیل استفاده
-
سادهسازی فرآیند خرید: با حذف فیلدهای غیرضروری، فرآیند خرید برای مشتری سریعتر و سادهتر میشود.
-
تمرکز بر اطلاعات ضروری: فقط اطلاعات مورد نیاز برای تحویل سفارش در ایران جمعآوری میشود.
-
کاهش خطاهای کاربران: با کاهش تعداد فیلدها، احتمال خطا در پر کردن فرم کاهش مییابد.
-
بهبود نرخ تبدیل: فرم سادهتر معمولاً منجر به تکمیل بیشتر خریدها میشود.
مزایای استفاده از این کد
-
تجربه کاربری بهتر: فرم کوتاهتر و مرتبطتر با نیازهای کسبوکار در ایران.
-
انعطافپذیری: میتوان به راحتی فیلدهای مورد نیاز را اضافه یا حذف کرد.
-
سازگاری: این تغییرات بدون تداخل با عملکرد اصلی ووکامرس اعمال میشوند.
-
بهینهسازی: مناسب برای فروشگاههایی که نیاز به اطلاعات محدود و ضروری دارند.
این کد به خصوص برای فروشگاههای اینترنتی در ایران که معمولاً نیازی به جمعآوری اطلاعات بیش از حد ندارند بسیار مفید است.
/** * سفارشیسازی فیلدهای صفحه تسویه حساب ووکامرس * فقط فیلدهای مورد نیاز را نگه میدارد و بقیه را حذف میکند */ add_filter('woocommerce_checkout_fields', 'tav_customize_checkout_fields'); function tav_customize_checkout_fields($fields) { // لیست فیلدهایی که میخواهیم نگه داریم $tav_allowed_fields = array( 'billing_first_name', // نام 'billing_last_name', // نام خانوادگی 'billing_email', // ایمیل (اختیاری) 'billing_phone', // شماره تلفن همراه 'billing_state', // استان 'billing_city', // شهر 'billing_address_1', // آدرس محل سکونت 'billing_postcode' // کد پستی ); // حذف تمام فیلدهای بخش billing به جز موارد مورد نظر foreach ($fields['billing'] as $tav_field_key => $tav_field) { if (!in_array($tav_field_key, $tav_allowed_fields)) { unset($fields['billing'][$tav_field_key]); } } // حذف کامل بخشهای دیگر که نیاز نداریم unset($fields['shipping']); unset($fields['order']); unset($fields['account']); // تنظیمات سفارشی برای فیلدهای باقیمانده $fields['billing']['billing_email']['required'] = false; // ایمیل اختیاری // تنظیم placeholder یا برچسبها اگر نیاز باشد $fields['billing']['billing_email']['label'] = 'ایمیل شما (اختیاری)'; return $fields; }
/**
* سفارشی•سازی فیلدهای صفحه تسویه حساب ووکامرس
* فقط فیلدهای مورد نیاز را نگه می•دارد و بقیه را حذف می•کند
*/
add_filter('woocommerce_checkout_fields', 'tav_customize_checkout_fields');
function tav_customize_checkout_fields($fields) {
// لیست فیلدهایی که می•خواهیم نگه داریم
$tav_allowed_fields = array(
'billing_first_name', // نام
'billing_last_name', // نام خانوادگی
'billing_email', // ایمیل (اختیاری)
'billing_phone', // شماره تلفن همراه
'billing_state', // استان
'billing_city', // شهر
'billing_address_1', // آدرس محل سکونت
'billing_postcode' // کد پستی
);
// حذف تمام فیلدهای بخش billing به جز موارد مورد نظر
foreach ($fields['billing'] as $tav_field_key => $tav_field) {
if (!in_array($tav_field_key, $tav_allowed_fields)) {
unset($fields['billing'][$tav_field_key]);
}
}
// حذف کامل بخش•های دیگر که نیاز نداریم
unset($fields['shipping']);
unset($fields['order']);
unset($fields['account']);
// تنظیمات سفارشی برای فیلدهای باقیمانده
$fields['billing']['billing_email']['required'] = false; // ایمیل اختیاری
// تنظیم placeholder یا برچسب•ها اگر نیاز باشد
$fields['billing']['billing_email']['label'] = 'ایمیل شما (اختیاری)';
return $fields;
}