Измените поле доставки почтового индекса на выпадающий список в Woocommerce - PullRequest
0 голосов
/ 11 декабря 2018

Я пытаюсь сделать поле почтового индекса при доставке только выбранным типом с моими настройками на странице оформления заказа в woocommerce:

  1. Снятие полей состояния доставки и почтового индекса

    add_filter( 'woocommerce_checkout_fields' , 'partial_unsetting_checkout_fields' );
    function partial_unsetting_checkout_fields( $fields ) {
         unset($fields['shipping']['woocommerce_checkout_fields']);
         return $fields;
    }  
    
  2. Повторное вставка пользовательского поля проверки почтового индекса доставки,

    add_filter( 'woocommerce_checkout_fields' , 'art_override_default_address_fields' );
    function art_override_default_address_fields( $fields ) {
        $fields['shipping_postcode']['type'] = 'select';
        $fields['shipping_postcode']['class'] = array('form-row-wide');
        $fields['shipping_postcode']['required'] = true;
        $fields['shipping_postcode']['label'] = __('Postcode', 'my_theme_slug');
        $fields['shipping_postcode']['placeholder'] = __('Enter Postcode', 'my_theme_slug');
        $fields['shipping_postcode']['default'] ='Choice 1';
        $fields['shipping_postcode']['options'] = array(
            'option_1' => 'Choice 1',
            'option_2' => 'Choice 2',
            'option_3' => 'Choice 3'
        );
    } 
    

Как преобразовать почтовый индекс биллинга в поле выбора с настраиваемыми параметрами?

1 Ответ

0 голосов
/ 11 декабря 2018

Есть несколько способов сделать это:

1) Для доставки только поля почтового индекса , вы будете использовать следующее:

add_filter( 'woocommerce_shipping_fields' , 'customize_shipping_postcode_field' );
function customize_shipping_postcode_field( $shipping_fields ) {

    $shipping_fields['shipping_postcode']['type'] = 'select';
    $shipping_fields['shipping_postcode']['options'] = array(
        ''         => __('Select your postcode', 'woocommerce'),
        'option_1' => 'Choice 1',
        'option_2' => 'Choice 2',
        'option_3' => 'Choice 3'
    );

    return $shipping_fields;
}

Код входит в функциюФайл .php вашей активной дочерней темы (или активной темы).Это должно работать.


2) Для полей выставления счетов и доставки вы можете использовать это вместо:

add_filter( 'woocommerce_default_address_fields' , 'customize_postcode_fields' );
function customize_postcode_fields( $adresses_fields ) {

    $adresses_fields['postcode']['type'] = 'select';
    $adresses_fields['postcode']['options'] = array(
        ''         => __('Select your postcode', 'woocommerce'),
        'option_1' => 'Choice 1',
        'option_2' => 'Choice 2',
        'option_3' => 'Choice 3'
    );

    return $adresses_fields;
}

Код входит в файл function.phpвашей активной детской темы (или активной темы).Должно работать.


enter image description here

...