В woocommerce на странице корзины используются эти шорткоды:
[woocommerce_cart]
[woocommerce_checkout]
Применяю свой валидатор полей:
add_action('woocommerce_checkout_process', 'my_custom_checkout_field_process');
function my_custom_checkout_field_process() {
if ( ! $_POST['billing_first_name'] ) {
wc_add_notice( __( "Заполните поле имя" ), 'error' );
}
if ( ! $_POST['billing_last_name'] ) {
wc_add_notice( __( "Заполните поле фамилия" ), 'error' );
}
...
}
Если поля формы заполнены не все, то ошибка выводится дважды на одно поле: стандартная ошибка и ошибка из приведённого кода.
Как убрать стандартную валидацию?
P.S.
можно было конечно исправить перевод ошибки, но тут вопрос именно в том, как убрать валидацию
add_filter("woocommerce_checkout_fields", "custom_my_fields");
function custom_my_fields($fields) {
$fields["billing"]["billing_last_name"]["required"] = false; // Фамилия не обязательна
$fields["billing"]["billing_phone"]["required"] = true; // Телефон обязателен
return $fields;
//Вот полный перечень стандартных полей 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"]
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости