В этом уроке мы с вами продолжаем кастомизировать поля на странице оформления заказа WooCommerce при помощи фильтр-хука woocommerce_checkout_fields
.
Про страницу оформления заказа WooCommerce у меня есть подробный видеоурок.
Сначала давайте попробуем задать максимальную длину поля, потому что с ней разобраться значительно легче. По сути всё, что нам требуется сделать, это задать атрибут maxlength
.
Если вы ещё не удалили поле «Компания», то давайте немного поиграемся именно с ним:
Нам пригодится этот код:
add_filter( 'woocommerce_checkout_fields', 'truemisha_checkout_field_maxlength', 25 ); function truemisha_checkout_field_maxlength( $fields ) { $fields[ 'billing' ][ 'billing_company' ][ 'maxlength' ] = 10; return $fields; }
Не знаете куда вставлять код? – рекомендую почитать.
В целом вставили – и всё будет работать. Тут это функционирует на основе HTML-атрибута maxlength
.
А вот тут уже интереснее – потому что, если вы захотите сделать это точно так же, как и с максимальной длиной поля, то у вас ничего не сработает.
Как быть?
Легко – и на самом деле, если вы уже читаете мой блог, то помните пост про произвольную валидацию полей оформления заказа.
add_action( 'woocommerce_after_checkout_validation', 'truemisha_field_minlength', 25, 2 ); function truemisha_field_minlength( $fields, $errors ){ if ( mb_strlen( $fields[ 'billing_company' ] ) < 3 ) { // меньше 3 символов $errors->add( 'validation', 'Можно пожалуйста написать больше букв в поле Компания?' ); } }
Не забывайте, что strlen()
не работает с кириллицей, поэтому я использовал функцию mb_strlen()
.
И результат:
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.