Поля оформления заказа - Сделайте платежный адрес 2 выше платежного адреса 1
В полях оформления заказа WooCommerce я пытаюсь сделать billing_address_2 выше billing_address_1 в форме оформления заказа.
Поэтому вместо того, чтобы быть:
Street Address
Apartment
Я хотел бы иметь:
Apartment
Street Address
Пожалуйста, также обратите внимание, что я использую тему под названием Avada.
Как я могу этого добиться?
Спасибо.
1 answers
Обновление (связано с вашим комментарием)...
Здесь у вас есть дополнение, которое удаляет текстовую метку "Адрес" из поля Адрес1 и устанавливает ее в поле Адрес2, делая также это поле (необязательно) обязательным и немного изменяя владельца места… У меня есть и другое решение (см. Ниже после кода).
Вот код:
add_filter( 'woocommerce_checkout_fields', 'custom_billing_fields_order' );
function custom_billing_fields_order( $fields ) {
// 1. Customizing address_1 and address_2 fields
$fields['billing']['billing_address_1']['label'] = ''; // Removing the label from Adress1
$fields['billing']['billing_address_2']['label'] = __('Address', 'theme_domain');
$fields['billing']['billing_address_2']['required'] = true; // Making Address 2 field required
$fields['billing']['billing_address_2']['placeholder'] = __('Apartment, suite, unit etc...', 'woocommerce');
// 2. Custom ordering the billing fields array (toggling address_1 with address_2)
$custom_fields_order = array(
'billing_first_name', 'billing_last_name',
'billing_company',
'billing_email', 'billing_phone',
'billing_country',
'billing_address_2', 'billing_address_1', ## <== HERE, changed order
'billing_postcode', 'billing_city'
);
foreach($custom_fields_order as $field)
$new_ordered_fields[$field] = $fields['billing'][$field];
// Replacing original fields order by the custom one
$fields['billing'] = $new_ordered_fields;
// Returning Checkout customized billing fields order
return $fields;
}
Вместо того, чтобы переключать эти 2 поля, вы можете инвертировать заполнители полей и добавить (необязательно) обязательное поле Адрес2, поэтому вам не нужно будет переупорядочивать поля. Вы можете сделать это следующим образом:
add_filter( 'woocommerce_checkout_fields', 'custom_billing_fields_placeholders' );
function custom_billing_fields_placeholders( $fields ) {
// 1. Customizing address_1 and address_2 fields
$fields['billing']['billing_address_1']['placeholder'] = __('Apartment, suite, unit etc...', 'woocommerce');
$fields['billing']['billing_address_2']['required'] = true; // Making Address 2 field required
$fields['billing']['billing_address_2']['placeholder'] = __('Street address', 'woocommerce');
// Returning Checkout customized billing fields
return $fields;
}
Код входит в function.php файл вашей активной дочерней темы (или темы) или также в любом файле плагина.
Код протестирован и работает.
Связанные ответы: Поля проверки: Скрытие и отображение существующих полей
Официальная документация: Настройка полей оформления заказа с помощью действий и фильтров