Отключаем все ошибки валидации полей и заменяем их одной

Если у вас на странице оформления заказа полный набор полей, то, если нажать кнопку «Оформить заказ» без их заполнения, то получаем что-то в этом духе.

все ошибки заполнения полей в WooCommerce

В принципе ничего плохого в этом нет, но с другой стороны – почему бы не заменить все это лишь одним сообщением?

заменяем много ошибок валидации WooCommerce одной

На моём сайте также есть видеоурок по странице оформления заказа WooCommerce 🚀

Чтобы добиться этого, вам достаточно вставить в functions.php текущей или дочерней темы этот код.

add_action( 'woocommerce_after_checkout_validation', 'truemisha_1_error', 25, 2 );
 
function truemisha_1_error( $fields, $errors ){
 
	// проверка, есть ли ошибки в принципе
	if( ! empty( $errors->get_error_codes() ) ) {
 
		// запускаем цикл через все ошибки и удаляем их
		foreach( $errors->get_error_codes() as $code ) {
			$errors->remove( $code );
		}
 
		// добавляем нашу собственнную
		$errors->add( 'validation', 'Заполните поля плез!' );
 
	}
 
}

Однако самые внимательные из вас наверное заметили, что среди ошибок у нас были не только ошибки валидации полей, но и «Чтобы продолжить оформление заказа, прочтите правила и условия и…». Получается этот эррор месдж вообще другого типа. Предлагаю его оставить.

if( 'terms' != $code ) { 
	$errors->remove( $code );
}

Вообще коды есть трёх типов – terms, required-field и payment. Поэтому я предлагаю сделать следующее изменение в нашем коде:

if( 'required-field' == $code ) { 
	$errors->remove( $code );
}

Не знаю, как у вас, а у меня получилась годнота.

ошибки валидации полей оформления заказа

Миша

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

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

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

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

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