این کد یک فیلتر ووکامرس برای سفارشیسازی فیلدهای صفحه تسویه حساب (چکاوت) است که با هدف سادهسازی فرآیند خرید و بهبود تجربه کاربری طراحی شده است.
هدف و دلیل استفاده
-
سادهسازی فرآیند خرید: با حذف فیلدهای غیرضروری، فرآیند خرید برای مشتری سریعتر و سادهتر میشود.
-
تمرکز بر اطلاعات ضروری: فقط اطلاعات مورد نیاز برای تحویل سفارش در ایران جمعآوری میشود.
-
کاهش خطاهای کاربران: با کاهش تعداد فیلدها، احتمال خطا در پر کردن فرم کاهش مییابد.
-
بهبود نرخ تبدیل: فرم سادهتر معمولاً منجر به تکمیل بیشتر خریدها میشود.
مزایای استفاده از این کد
-
تجربه کاربری بهتر: فرم کوتاهتر و مرتبطتر با نیازهای کسبوکار در ایران.
-
انعطافپذیری: میتوان به راحتی فیلدهای مورد نیاز را اضافه یا حذف کرد.
-
سازگاری: این تغییرات بدون تداخل با عملکرد اصلی ووکامرس اعمال میشوند.
-
بهینهسازی: مناسب برای فروشگاههایی که نیاز به اطلاعات محدود و ضروری دارند.
این کد به خصوص برای فروشگاههای اینترنتی در ایران که معمولاً نیازی به جمعآوری اطلاعات بیش از حد ندارند بسیار مفید است.
/** * سفارشیسازی فیلدهای صفحه تسویه حساب ووکامرس * فقط فیلدهای مورد نیاز را نگه میدارد و بقیه را حذف میکند */ 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; }