
Здравствуйте! Установил плагин и возникла необходимость изменить поля на странице подтверждения заказа. Убрать required с ненужных полей получилось без проблем, все работает, проверки не требует. Вот все фильтры, которые применил:
// Hook in
add_filter( 'woocommerce_default_address_fields' , 'custom_override_default_address_fields' );
// Our hooked in function - $address_fields is passed via the filter!
function custom_override_default_address_fields( $address_fields ) {
$address_fields['country']['required'] = false;
$address_fields['first_name']['required'] = false;
$address_fields['last_name']['required'] = false;
$address_fields['address_1']['required'] = false;
$address_fields['address_2']['required'] = false;
$address_fields['city']['required'] = false;
$address_fields['state']['required'] = false;
$address_fields['postcode']['required'] = false;
return $address_fields;
}
Но когда привел страницу к окончательному виду, удалив ненужное и отредактировав оставшееся, при подтверждении выдает "Пожалуйста, введите адрес для продолжения" . Вот фильтры, которые добавил:
// Хук
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );
// Все $fields в этой функции будут пропущены через фильтр
function custom_override_checkout_fields( $fields ) {
unset($fields['billing']['billing_last_name']);
unset($fields['billing']['billing_company']);
unset($fields['billing']['billing_address_2']);
unset($fields['billing']['billing_city']);
unset($fields['billing']['billing_postcode']);
unset($fields['billing']['billing_country']);
unset($fields['billing']['billing_state']);
unset($fields['billing']['billing_email']);
$fields['billing']['billing_email']['required'] = false;
$fields['billing']['billing_first_name']['placeholder'] = 'Ваше имя';
$fields['billing']['billing_first_name']['label'] = 'Имя:';
$fields['billing']['billing_address_1']['placeholder'] = 'Улица, номер дома и квартира';
$fields['billing']['billing_address_1']['label'] = 'Адрес доставки:';
$fields['billing']['billing_phone']['placeholder'] = 'Ваш номер';
$fields['billing']['billing_phone']['label'] = 'Номер телефона:';
$fields['order']['order_comments']['placeholder'] = '';
$fields['order']['order_comments']['label'] = 'Для комментариев к заказу:';
return $fields;
}
То есть без удаления полей заказ спокойно подтверждается без адреса, а после добавления вышеуказанного кода адрес начинает требовать.
Подскажите, где я ошибся?
Спасибо!
// Hook in
add_filter( 'woocommerce_default_address_fields' , 'custom_override_default_address_fields' );
// Our hooked in function - $address_fields is passed via the filter!
function custom_override_default_address_fields( $address_fields ) {
$address_fields['country']['required'] = false;
$address_fields['first_name']['required'] = false;
$address_fields['last_name']['required'] = false;
$address_fields['address_1']['required'] = false;
$address_fields['address_2']['required'] = false;
$address_fields['city']['required'] = false;
$address_fields['state']['required'] = false;
$address_fields['postcode']['required'] = false;
return $address_fields;
}
Но когда привел страницу к окончательному виду, удалив ненужное и отредактировав оставшееся, при подтверждении выдает "Пожалуйста, введите адрес для продолжения" . Вот фильтры, которые добавил:
// Хук
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );
// Все $fields в этой функции будут пропущены через фильтр
function custom_override_checkout_fields( $fields ) {
unset($fields['billing']['billing_last_name']);
unset($fields['billing']['billing_company']);
unset($fields['billing']['billing_address_2']);
unset($fields['billing']['billing_city']);
unset($fields['billing']['billing_postcode']);
unset($fields['billing']['billing_country']);
unset($fields['billing']['billing_state']);
unset($fields['billing']['billing_email']);
$fields['billing']['billing_email']['required'] = false;
$fields['billing']['billing_first_name']['placeholder'] = 'Ваше имя';
$fields['billing']['billing_first_name']['label'] = 'Имя:';
$fields['billing']['billing_address_1']['placeholder'] = 'Улица, номер дома и квартира';
$fields['billing']['billing_address_1']['label'] = 'Адрес доставки:';
$fields['billing']['billing_phone']['placeholder'] = 'Ваш номер';
$fields['billing']['billing_phone']['label'] = 'Номер телефона:';
$fields['order']['order_comments']['placeholder'] = '';
$fields['order']['order_comments']['label'] = 'Для комментариев к заказу:';
return $fields;
}
То есть без удаления полей заказ спокойно подтверждается без адреса, а после добавления вышеуказанного кода адрес начинает требовать.
Подскажите, где я ошибся?
Спасибо!
Последнее редактирование: