Артём Мáлков

Делаем обязательные/необязательные поля в оформлении заказа в WooCommerce

29 сен0 коммАртём Мáлков

Когда вы создаете свой интернет-магазин, особенно с помощью плагина WooCommerce в CMS WordPress, нужно продумать каждую его мелочь. Особенно это касается оформления заказа, итоговых шагов пользователя при покупке понравившегося ему товара.

Как и в любом другом инструменте для создания интернет-магазина, в WooCommerce существует большое количество полей, часть из которых обязательна для заполнения. Если вы продаете материальные товары (вазу, телевизор, стул), то, возможно, все эти поля вам и потребуются, чтобы знать, куда отправить товар и рассчитать стоимость его доставки. Но если у вас электронные билеты, различные ключи для игр и прочие цифровые товары – то вам будет достаточно таких данных, как имя покупателя и его e-mail для отправки товара.

Для того чтобы снять обязательность заполнения или, наоборот, ее поставить на определенное поле, вам необходимо воспользоваться следующей функцией:

function custom_my_fields($fields) {
	
	$fields["billing"]["billing_last_name"]["required"] = false; // Фамилия не обязательна
	$fields["billing"]["billing_phone"]["required"] = true; // Телефон обязателен

	return $fields;
 
}

add_filter("woocommerce_checkout_fields", "custom_my_fields");

Ее вы вставляете в низ файла functions.php, который находится в папке вашей темы.

Как вы поняли, в примере выше вы делаете фамилию необязательным полем, а телефон – обязательным.

Вот по такому принципу вы обрабатываете все нужные и ненужные вам поля. Вот полный перечень стандартных полей WooCommerce:

Оплата:

$fields["billing"]["billing_first_name"]["required"]
$fields["billing"]["billing_last_name"]["required"]
$fields["billing"]["billing_company"]["required"]
$fields["billing"]["billing_address_1"]["required"]
$fields["billing"]["billing_address_2"]["required"]
$fields["billing"]["billing_city"]["required"]
$fields["billing"]["billing_postcode"]["required"]
$fields["billing"]["billing_country"]["required"]
$fields["billing"]["billing_state"]["required"]
$fields["billing"]["billing_email"]["required"]
$fields["billing"]["billing_phone"]["required"]

Доставка:

$fields["shipping"]["shipping_first_name"]["required"]
$fields["shipping"]["shipping_last_name"]["required"]
$fields["shipping"]["shipping_company"]["required"]
$fields["shipping"]["shipping_address_1"]["required"]
$fields["shipping"]["shipping_address_2"]["required"]
$fields["shipping"]["shipping_city"]["required"]
$fields["shipping"]["shipping_postcode"]["required"]
$fields["shipping"]["shipping_country"]["required"]
$fields["shipping"]["shipping_state"]["required"]

Заказ:

$fields["order"]["order_comments"]["required"]

Если вы хотите не просто снять обязательность заполнения того или иного поля, но и вовсе скрыть его с экрана – читайте инструкцию в этой статье.

Рекомендуем к просмотру
Как изменить порядок вывода полей в оформлении заказа в WooCommerce?
Хаки
Дробное количество товара в WooCommerce
Посты
Как скрыть поля в оформлении заказа в WooCommerce?
Хаки
0
комментариев
Форма комментирования этого поста скрыта. Авторизуйтесь, чтобы расширить привилегии гостевого посещения и получить необходимую помощь от сообщества Pandoge.
Подняться наверх
Регистрация на сайте
Pandoge - уникальный проект, который собрал на своих страницах большой опыт многих людей в сфере сайтостроения.Присоединяйся и ты к сообществу, получай неограниченные знания и начинай творить свою мечту!Нажимая кнопку «Регистрация» вы даете согласие на обработку своих персональных данных.
Имя и фамилия
E-mail
Логин
Пароль
Регистрация
Pandoge