WooCommerce Shipping State Выбрать - PullRequest
       3

WooCommerce Shipping State Выбрать

1 голос
/ 19 сентября 2019

Мне нужно переопределить все состояния в проверке WooCommerce, но мне нужно сделать это только для раздела доставки.

Так что "billing_state" работает нормально со всеми текущими итальянскими штатами, и мне нужно переопределить только "shipping_state"с новыми состояниями.

С приведенным ниже кодом переопределит как billing_states, так и состояния доставки.Как я могу изменить код, чтобы переопределить "shipping_states"

Заранее спасибо

add_filter( 'woocommerce_states', 'custom_woocommerce_states' );

  function custom_woocommerce_states( $states ) {
  $states['IT'] = array(
    //I have to display only these 3 states in shipping Checkout
    'TV' => 'Treviso',
    'CA' => 'Carità',
    'CS' => 'Castrette',
  );

  return $states;
}

1 Ответ

0 голосов
/ 19 сентября 2019

Это то, что вы ищете.Добавьте это в ваши активные дочерние темы functions.php

См. Эту статью WebToffee

add_action( 'wp_footer', 'webtoffee_checkout_shipping_filter_it_states' );

function webtoffee_checkout_shipping_filter_it_states() {
   if ( ! is_checkout() ) {
      return;
   }
   ?>

   <script>
   jQuery(document).ready(function($) {

      $(document.body).on('country_to_state_changed', function() {

         var $shipping_country = $('#shipping_country');

         var new_shipping_state = '';

         switch($shipping_country.val()) {
            case 'IT':
               new_shipping_state =  {'TV': "Treviso", "CA": "Carità", "Cs": "Castrette"};
               break;
         }

             if( ! $.isEmptyObject(new_shipping_state)) {

                var optionsAsString = "";
                for (var key in new_shipping_state) {
                    optionsAsString += "<option value='" + key + "'>" + new_shipping_state[key] + "</option>";
                }
                $( 'select[name="shipping_state"]' ).html( optionsAsString );

             } 

      });

   });  
   </script>

   <?php
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...