Как сделать разные поля в адресе доставки Woocommerce?

Для добавления дополнительных полей в адрес доставки на странице оформления заказа в WooCommerce вам понадобится использовать хуки и фильтры WordPress. Вот пошаговое руководство, как это сделать:

### Шаг 1: Добавление дополнительных полей
Чтобы добавить новые поля в адрес доставки, вы можете воспользоваться хуком woocommerce_default_address_fields. Например, вы можете добавить поле для ввода номера квартиры:

function custom_override_default_address_fields( $address_fields ) {
    $address_fields['apartment_number'] = array(
        'label' => 'Apartment Number',
        'required' => false,
        'class' => array('form-row-wide'),
        'clear' => true
    );
    return $address_fields;
}
add_filter( 'woocommerce_default_address_fields', 'custom_override_default_address_fields' );

### Шаг 2: Сохранение значений полей
Чтобы сохранить значения добавленных вами полей, вам нужно воспользоваться хуком woocommerce_checkout_update_order_meta. Например, сохраним значение поля "Apartment Number":

function custom_save_apartment_number( $order_id ) {
    update_post_meta( $order_id, 'Apartment Number', $_POST['apartment_number'] );
}
add_action( 'woocommerce_checkout_update_order_meta', 'custom_save_apartment_number' );

### Шаг 3: Отображение в админке
Чтобы отображать данные, введенные в новые поля в админке, можно воспользоваться хуком woocommerce_admin_order_data_after_shipping_address:

function custom_display_apartment_number( $order ) {
    echo '<p><strong>Apartment Number:</strong> ' . get_post_meta( $order->get_id(), 'Apartment Number', true ) . '</p>';
}
add_action( 'woocommerce_admin_order_data_after_shipping_address', 'custom_display_apartment_number' );

После выполнения этих шагов, вы сможете добавлять, сохранять и отображать дополнительные поля в адресе доставки на странице оформления заказа и в админке WooCommerce. Не забудьте проверить и настроить стили для новых полей с помощью CSS.