ورود

View Full Version : آموزش ویرایش و اعمال تغییرات در فرم تسویه حساب ووکامرس



shahab_rafiee
جمعه 09 آذر 1403, 15:43 عصر
فرم تسویه‌ حساب ووکامرس یا صفحه Checkout به صفحه‌ای گفته می‌شود که در آن فاکتور خرید نهایی به کاربر نمایش داده شده و برای تکمیل سفارش، از کاربر می‌خواهد تا اطلاعات تماس و آدرس خود را جهت ارسال محصولات وارد نماید.

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

حذف فیلدهای اضافی فرم تسویه حساب

در این روش می‌توانید فیلدهای اضافی محصولات را به کمک کدهای php در فایل function وردپرس، حذف نمایید. فقط کافی است قطعه کد زیر را در انتهای فایل فانکشن وردپرس قرار دهید.



/* WooCommerce: The Code Below Removes Checkout Fields */
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );
function custom_override_checkout_fields( $fields ) {

/* حذف فیلد نام */
unset($fields['billing']['billing_first_name']);

/* حذف فیلد نام خانوادگی */
unset($fields['billing']['billing_last_name']);

/* حذف فیلد نام شرکت */
unset($fields['billing']['billing_company']);

/* حذف فیلد اول آدرس */
unset($fields['billing']['billing_address_1']);

/* حذف فیلد دوم آدرس */
unset($fields['billing']['billing_address_2']);

/* حذف فیلد شهر */
unset($fields['billing']['billing_city']);

/* حذف فیلد کد پستی */
unset($fields['billing']['billing_postcode']);

/* حذف فیلد کشور */
unset($fields['billing']['billing_country']);

/* حذف فیلد استان یا ایالت */
unset($fields['billing']['billing_state']);

/* حذف فیلد شماره تماس */
unset($fields['billing']['billing_phone']);

/* حذف فیلد یادداشت سفارش */
unset($fields['order']['order_comments']);

/* حذف فیلد ایمیل */
unset($fields['billing']['billing_email']);

return $fields;
}



راهنمایی 1: اگر می‌خواهید فیلد شماره تماس نیز حذف شود کافی است // را از ابتدای کد بردارید.
راهنمایی 2: اگر می‌خواهید فیلد ایمیل مجدداً نمایش داده شود کافی است در ابتدای کد مربوطه // درج کنید.

تغییر ترتیب فیلدها
اگر میخواهید محل و چیدمان فیلدهای فرم تسویه حساب را تغییر دهید از این کد استفاده کنید. در مقابل priority جایگاه مد نظر خود را مشخص کنید.



add_filter("woocommerce_checkout_fields", "custom_override_checkout_fields", 1);
function custom_override_checkout_fields($fields) {
$fields['billing']['billing_first_name']['priority'] = 1;
$fields['billing']['billing_last_name']['priority'] = 2;
$fields['billing']['billing_company']['priority'] = 3;
$fields['billing']['billing_country']['priority'] = 4;
$fields['billing']['billing_state']['priority'] = 5;
$fields['billing']['billing_address_1']['priority'] = 6;
$fields['billing']['billing_address_2']['priority'] = 7;
$fields['billing']['billing_city']['priority'] = 8;
$fields['billing']['billing_postcode']['priority'] = 9;
$fields['billing']['billing_email']['priority'] = 10;
$fields['billing']['billing_phone']['priority'] = 11;
return $fields;
}

add_filter( 'woocommerce_default_address_fields', 'custom_override_default_locale_fields' );
function custom_override_default_locale_fields( $fields ) {
$fields['state']['priority'] = 5;
$fields['address_1']['priority'] = 6;
$fields['address_2']['priority'] = 7;
return $fields;
}




ویرایش و حذف فیلدهای اضافی فرم تسویه‌ حساب ووکامرس [ویدئوی آموزشی] (https://novinadmin.com/edit-woocommerce-checkout-fields/)