Удаляем ненужные поля на странице оформления заказа Woocommerce

Неоднократно уже встречался с ситуацией, когда заказчик требует убрать на странице оформления заказа в Вукомерс некоторые поля. Иногда вдобавок еще требуется добавить свои (кастомные поля). Но об этом позже.

Если стоит задача только убрать ненужные поля, то сделать это можно добавлением в файл functions.php текущей темы следующего кода:

add_filter( 'woocommerce_checkout_fields' , 'customize_checkout_fields' );
function customize_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']);
    unset($fields['account']['account_username']);
    unset($fields['account']['account_password']);
    unset($fields['account']['account_password-2']);

    return $fields; 
} 

В данном варианте функции перечислены все поля, присутствующие на странице оформления заказа в Woocommerce. Поэтому в таком варианте будут удалены все поля. Конечно же, вам такой вариант вряд ли подойдет. А потому в каждом конкретном случае нужно оставить в функции только те поля, которые нужно убрать. Например, очень часто требуется убрать поле с названием компании. Код в данном случае будет выглядеть так:

add_filter( 'woocommerce_checkout_fields' , 'customize_checkout_fields' );
function customize_checkout_fields( $fields ) {

    unset($fields['billing']['billing_company']);

    return $fields; 
} 

В более сложных случаях, когда в условие задачи добавляется изменение порядка, в котором поля должны выводится на странице оформления заказа, можно воспользоваться плагином. Мне понравился для этой цели плагин Saphali Woocommerce Russian. С помощью данного плагина легко изменить порядок полей, а также можно добавлять новые поля.

Поделиться с друзьями