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

۱٫ با استفاده از افزونه

Checkout Field Editor (Checkout Manager) for WooCommerce

Checkout Field Editor (Checkout Manager) for WooCommerce

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

۲٫ با استفاده از کد

حذف تمام فیلد های ممکن

این کد تمام فیلد های ممکن را از صفحه حذف می کند. پس مطمئن شوید که فیلد های مورد نیاز را از کد حذف کنید. کد های php زیر را در functions.php در پوسته child قرار دهید.


 /**
 Remove all possible fields
 **/
function wc_remove_checkout_fields( $fields ) {

    // Billing fields
    unset( $fields['billing']['billing_company'] );
    unset( $fields['billing']['billing_email'] );
    unset( $fields['billing']['billing_phone'] );
    unset( $fields['billing']['billing_state'] );
    unset( $fields['billing']['billing_first_name'] );
    unset( $fields['billing']['billing_last_name'] );
    unset( $fields['billing']['billing_address_1'] );
    unset( $fields['billing']['billing_address_2'] );
    unset( $fields['billing']['billing_city'] );
    unset( $fields['billing']['billing_postcode'] );

    // Shipping fields
    unset( $fields['shipping']['shipping_company'] );
    unset( $fields['shipping']['shipping_phone'] );
    unset( $fields['shipping']['shipping_state'] );
    unset( $fields['shipping']['shipping_first_name'] );
    unset( $fields['shipping']['shipping_last_name'] );
    unset( $fields['shipping']['shipping_address_1'] );
    unset( $fields['shipping']['shipping_address_2'] );
    unset( $fields['shipping']['shipping_city'] );
    unset( $fields['shipping']['shipping_postcode'] );

    // Order fields
    unset( $fields['order']['order_comments'] );

    return $fields;
}
add_filter( 'woocommerce_checkout_fields', 'wc_remove_checkout_fields' );

غیرضروری کردن یک فیلد ضروری در صفحه تسویه حساب

در کد زیر به عنوان مثال شماره تماس صورتحساب را ویرایش می کنیم. کد زیر را به functions.php پوسته child اضافه کنید.


add_filter( 'woocommerce_billing_fields', 'wc_unrequire_wc_phone_field');
function wc_unrequire_wc_phone_field( $fields ) {
$fields['billing_phone']['required'] = false;
return $fields;
}

تغییر label ها و placeholder ها در فرم تسویه حساب ووکامرس

کد زیر را طبق نیاز خود تغییر دهید و در functions.php قالب child قرار دهید.


add_filter('woocommerce_checkout_fields', 'custom_override_checkout_fields');
function custom_override_checkout_fields($fields)
 {
 unset($fields['billing']['billing_address_2']);
 $fields['billing']['billing_company']['placeholder'] = 'Business Name';
 $fields['billing']['billing_company']['label'] = 'Business Name';
 $fields['billing']['billing_first_name']['placeholder'] = 'First Name'; 
 $fields['shipping']['shipping_first_name']['placeholder'] = 'First Name';
 $fields['shipping']['shipping_last_name']['placeholder'] = 'Last Name';
 $fields['shipping']['shipping_company']['placeholder'] = 'Company Name'; 
 $fields['billing']['billing_last_name']['placeholder'] = 'Last Name';
 $fields['billing']['billing_email']['placeholder'] = 'Email Address ';
 $fields['billing']['billing_phone']['placeholder'] = 'Phone ';
 return $fields;
 }