Я сделал это через этот код в function.php но сохранение начинает не работать, Кнопка сохранить аддрес просто сделает перезагрузку странцы
add_filter('woocommerce_address_to_edit', 'reorder_woocommerce_address_fields', 10, 2);
function reorder_woocommerce_address_fields( $address, $load_address) {
$new_address['billing_first_name'] = $address['billing_first_name'];
$new_address['billing_last_name'] = $address['billing_last_name'];
$new_address['billing_email'] = $address['billing_email'];
$new_address['billing_phone'] = $address['billing_phone'];
$new_address['billing_email'] = array(
'label' => __('Email', 'woocommerce'),
'required' => true,
'class' => array('form-row-first'),
);
$new_address['billing_phone'] = array(
'label' => __('Phone', 'woocommerce'),
'required' => true,
'class' => array('form-row-last'),
'clear' => true
);
$new_address['billing_address_1'] = $address['billing_address_1'];
return $new_address;
}
плагины использовать — не ваш путь?
подобных плагинов в оф. каталоге с пару десятков, да коммерческих еще столько же
Чтобы изменит эти поля на странице офромеление заказа использую Checkout Field Editor for WooCommerce а вот для личного кабинете оно не работает, и я не знаб какой работает, можете сказать нахвания плагина
в поиске вбиваете «май аккаунт» вместо «чекаут» и все прекрасно находиться.
@virabyan , если только одна страна доставки, то ее можно задать в настройках «Продавать в определённые страны», потому как иначе ее отключить от показа нельзя (ну по крайней мере я не смог).
А остальные вначале нужно сделать необязательными а потом убрать:
add_filter( 'woocommerce_billing_fields', 'custom_override_billing_fields' );
function custom_override_billing_fields( $address_fields ) {
$address_fields['billing_postcode']['required'] = false;
$address_fields['billing_state']['required'] = false;
$address_fields['billing_country']['required'] = false;
$address_fields['billing_last_name']['required'] = false;
$address_fields['billing_phone']['required'] = false;
$address_fields['billing_company']['required'] = false;
unset( $address_fields ['billing_postcode'] );
unset( $address_fields ['billing_state'] );
unset( $address_fields ['billing_last_name'] );
unset( $address_fields ['billing_company'] );
unset( $address_fields ['billing_phone'] );
//не сработает unset( $address_fields ['billing_country'] );
return $address_fields;
}
Игор спасибо вам болшое сработала
Игор а можно как-то добавить номер телефона?
Игор а можно как-то добавить номер телефона?
Убрать из кода выше
$address_fields['billing_phone']['required'] = false;
unset( $address_fields ['billing_phone'] );