Управление полями через плагин
Самый простой способ изменить поля при оформлении заказа — использовать один из бесплатных плагинов.
Checkout Field Manager for WooCommerce
Этот плагин ранее широко был известен как WooCommerce Checkout Manager. Позволяет добавить свои поля на странице оформления заказа в разделах Оплата, Доставка и Дополнительные сведения.
Кроме того, можно изменить порядок, удалить или изменить тип любого стандартного поля. Доступные варианты включают поля для ввода строк, текстов, паролей, радио-кнопок, чек-боксов, страны, цветов, загрузки файлов и др.
Checkout Field Editor (Checkout Manager) for WooCommerce
Пожалуй, самый популярный плагин с более, чем 400 тысяч установок. Возможности в целом аналогичны предыдущему. В дополнение: опытные разработчики в бесплатной версии смогут редактировать CSS-стили. Плагин готов к переводу WPML, Polylang & Loco Translate.
Подробнее на видео:
Custom Fields WooCommerce Checkout Page
Замыкает тройку самый «жадный» разработчик. Бесплатная версия с минимальными возможностями компенсируется стабильной работой. В большинстве случаев этого плагина будет достаточно.
Программный способ изменить дополнительные поля оформления заказа
Используйте встроенный редактор WordPress. В панели администратора выберите раздел Внешний вид, пункт Редактор тем. Затем в правом углу выберите активную тему и файл functions.php.
Добавьте код в файл функции темы (/wp-content/themes/АКТИВНАЯ_ТЕМА/functions.php):
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']);
//unset($fields['account']['account_username']);
//unset($fields['account']['account_password']);
//unset($fields['account']['account_password-2']);
return $fields;
}
Раскомментируйте нужные строчки – уберите // перед unset для нужных полей при оформлении заказа.
Будьте осторожны: ошибка в файле functions.php может сделать сайт неработоспособным. Правда это бывает редко, потому что WordPress скорее всего не позволит сохранить код с ошибкой.
На всякий случай при редактировании сохраняйте исходный код файла. Для этого достаточно скопировать текст в буфер обмена и сохранить его временно, например, в Блокноте. Если что-то пойдет не так – восстановите исходный вариант.