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

В этом уроке я покажу, как можно легко сделать любое из полей на странице оформления заказа WooCommerce обязательным или необязательным.

Всё это будем делать в пределах стандартной валидации полей WooCommerce, если вы хотите добавить какую-то произвольную валидацию, например проверку, что имя не меньше трёх букв и содержит только буквы, то рекомендую прочекать этот урок.

Также рекомендую прочекать видеоурок про страницу оформления заказа WooCommerce тут.

А вот что мы будем делать в этом уроке.

делаем обязательные и необязательные поля WooCommerce
Если вы помните, то поля Имя и Фамилия по умолчанию обязательные, а Название компании – нет. Мы сделали наоборот.

Этого можно добиться в пределах фильтр-хука woocommerce_checkout_fields.

add_filter( 'woocommerce_checkout_fields', 'truemisha_required_fields', 25 );
 
function truemisha_required_fields( $fields ) {
 
	// print_r( $fields ); exit // если хотите узнать названия полей
	$fields[ 'billing' ][ 'billing_first_name' ][ 'required' ] = false; // необязательно
	$fields[ 'billing' ][ 'billing_last_name' ][ 'required' ] = false; // необязательно
	$fields[ 'billing' ][ 'billing_company' ][ 'required' ] = true; // обязательно
 
	return $fields;
 
}

Как видите, обязательность определяется всего лишь одним параметром массива поля required.

Миша

В последние годы я долго не знал, что мне делать с сайтом misha.blog, ведь он практически не приносит никакого профита, но недавно я осознал, что моя миссия – способствовать распространению WordPress. Ведь WordPress – это лучший движок для разработки сайтов – как для тех, кто готов использовать заложенную структуру этой CMS, так и для тех, кто предпочитает headless решения.

Сам же я впервые познакомился с WordPress в 2009 году. Организатор WordCamp. Преподаватель в школах Epic Skills и LoftSchool.

Если вам нужна помощь с вашим сайтом или может даже разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда сделаем вам всё на лучшем уровне.

Комментарии — 1

Оставить комментарий

Если вы хотите добавить код, не забудьте обернуть его в <pre lang="php"></pre>, если же код – меньше одной строчки, то можно и в <code></code>.