Shipping calculator - Made state/postcode respect country locale like checkout.

Fixes #7637
This commit is contained in:
Mike Jolley 2015-03-06 12:37:21 +00:00
parent 9f269f765d
commit 66e6366be0
4 changed files with 63 additions and 39 deletions

View File

@ -546,11 +546,10 @@ class WC_Countries {
$locale_fields = array (
'address_1' => '#billing_address_1_field, #shipping_address_1_field',
'address_2' => '#billing_address_2_field, #shipping_address_2_field',
'state' => '#billing_state_field, #shipping_state_field',
'postcode' => '#billing_postcode_field, #shipping_postcode_field',
'city' => '#billing_city_field, #shipping_city_field'
'state' => '#billing_state_field, #shipping_state_field, #calc_shipping_state_field',
'postcode' => '#billing_postcode_field, #shipping_postcode_field, #calc_shipping_postcode_field',
'city' => '#billing_city_field, #shipping_city_field, #calc_shipping_city_field',
);
return apply_filters( 'woocommerce_country_locale_field_selectors', $locale_fields );
}
@ -582,13 +581,16 @@ class WC_Countries {
),
'AU' => array(
'city' => array(
'label' => __( 'Suburb', 'woocommerce' ),
'label' => __( 'Suburb', 'woocommerce' ),
'placeholder' => __( 'Suburb', 'woocommerce' ),
),
'postcode' => array(
'label' => __( 'Postcode', 'woocommerce' ),
'label' => __( 'Postcode', 'woocommerce' ),
'placeholder' => __( 'Postcode', 'woocommerce' ),
),
'state' => array(
'label' => __( 'State', 'woocommerce' ),
'label' => __( 'State', 'woocommerce' ),
'placeholder' => __( 'State', 'woocommerce' ),
)
),
'BD' => array(
@ -596,14 +598,16 @@ class WC_Countries {
'required' => false
),
'state' => array(
'label' => __( 'District', 'woocommerce' ),
'label' => __( 'District', 'woocommerce' ),
'placeholder' => __( 'District', 'woocommerce' ),
)
),
'BE' => array(
'postcode_before_city' => true,
'state' => array(
'required' => false,
'label' => __( 'Province', 'woocommerce' ),
'required' => false,
'label' => __( 'Province', 'woocommerce' ),
'placeholder' => __( 'Province', 'woocommerce' ),
),
),
'BI' => array(
@ -625,14 +629,16 @@ class WC_Countries {
),
'CA' => array(
'state' => array(
'label' => __( 'Province', 'woocommerce' ),
'label' => __( 'Province', 'woocommerce' ),
'placeholder' => __( 'Province', 'woocommerce' ),
)
),
'CH' => array(
'postcode_before_city' => true,
'state' => array(
'label' => __( 'Canton', 'woocommerce' ),
'required' => false
'label' => __( 'Canton', 'woocommerce' ),
'placeholder' => __( 'Canton', 'woocommerce' ),
'required' => false
)
),
'CL' => array(
@ -644,12 +650,14 @@ class WC_Countries {
'hidden' => true
),
'state' => array(
'label' => __( 'Region', 'woocommerce' )
'label' => __( 'Region', 'woocommerce' ),
'placeholder' => __( 'Region', 'woocommerce' )
)
),
'CN' => array(
'state' => array(
'label' => __( 'Province', 'woocommerce' ),
'label' => __( 'Province', 'woocommerce' ),
'placeholder' => __( 'Province', 'woocommerce' ),
)
),
'CO' => array(
@ -697,20 +705,24 @@ class WC_Countries {
'required' => false
),
'city' => array(
'label' => __( 'Town / District', 'woocommerce' ),
'label' => __( 'Town / District', 'woocommerce' ),
'placeholder' => __( 'Town / District', 'woocommerce' )
),
'state' => array(
'label' => __( 'Region', 'woocommerce' ),
'label' => __( 'Region', 'woocommerce' ),
'placeholder' => __( 'Region', 'woocommerce' ),
)
),
'HU' => array(
'state' => array(
'label' => __( 'County', 'woocommerce' ),
'label' => __( 'County', 'woocommerce' ),
'placeholder' => __( 'County', 'woocommerce' ),
)
),
'ID' => array(
'state' => array(
'label' => __( 'Province', 'woocommerce' ),
'label' => __( 'Province', 'woocommerce' ),
'placeholder' => __( 'Province', 'woocommerce' ),
)
),
'IS' => array(
@ -728,8 +740,9 @@ class WC_Countries {
'IT' => array(
'postcode_before_city' => true,
'state' => array(
'required' => true,
'label' => __( 'Province', 'woocommerce' ),
'required' => true,
'label' => __( 'Province', 'woocommerce' ),
'placeholder' => __( 'Province', 'woocommerce' ),
)
),
'JP' => array(
@ -745,8 +758,9 @@ class WC_Countries {
'NL' => array(
'postcode_before_city' => true,
'state' => array(
'required' => false,
'label' => __( 'Province', 'woocommerce' ),
'required' => false,
'label' => __( 'Province', 'woocommerce' ),
'placeholder' => __( 'Province', 'woocommerce' ),
)
),
'NZ' => array(
@ -763,7 +777,8 @@ class WC_Countries {
'NP' => array(
'postcode_before_city' => true,
'state' => array(
'label' => __( 'District', 'woocommerce' ),
'label' => __( 'District', 'woocommerce' ),
'placeholder' => __( 'District', 'woocommerce' ),
),
'postcode' => array(
'required' => false,
@ -806,14 +821,16 @@ class WC_Countries {
'ES' => array(
'postcode_before_city' => true,
'state' => array(
'label' => __( 'Province', 'woocommerce' ),
'label' => __( 'Province', 'woocommerce' ),
'placeholder' => __( 'Province', 'woocommerce' ),
)
),
'LI' => array(
'postcode_before_city' => true,
'state' => array(
'label' => __( 'Municipality', 'woocommerce' ),
'required' => false
'label' => __( 'Municipality', 'woocommerce' ),
'placeholder' => __( 'Municipality', 'woocommerce' ),
'required' => false
)
),
'LK' => array(
@ -830,24 +847,29 @@ class WC_Countries {
'TR' => array(
'postcode_before_city' => true,
'state' => array(
'label' => __( 'Province', 'woocommerce' ),
'label' => __( 'Province', 'woocommerce' ),
'placeholder' => __( 'Province', 'woocommerce' ),
)
),
'US' => array(
'postcode' => array(
'label' => __( 'Zip', 'woocommerce' ),
'label' => __( 'Zip', 'woocommerce' ),
'placeholder' => __( 'Zip', 'woocommerce' ),
),
'state' => array(
'label' => __( 'State', 'woocommerce' ),
'label' => __( 'State', 'woocommerce' ),
'placeholder' => __( 'State', 'woocommerce' ),
)
),
'GB' => array(
'postcode' => array(
'label' => __( 'Postcode', 'woocommerce' ),
'label' => __( 'Postcode', 'woocommerce' ),
'placeholder' => __( 'Postcode', 'woocommerce' ),
),
'state' => array(
'label' => __( 'County', 'woocommerce' ),
'required' => false
'label' => __( 'County', 'woocommerce' ),
'placeholder' => __( 'County', 'woocommerce' ),
'required' => false
)
),
'VN' => array(
@ -872,7 +894,8 @@ class WC_Countries {
),
'ZA' => array(
'state' => array(
'label' => __( 'Province', 'woocommerce' ),
'label' => __( 'Province', 'woocommerce' ),
'placeholder' => __( 'Province', 'woocommerce' ),
)
),
'ZW' => array(

View File

@ -132,7 +132,7 @@ class WC_Frontend_Scripts {
self::enqueue_script( 'wc-add-to-cart', $frontend_script_path . 'add-to-cart' . $suffix . '.js' );
}
if ( is_cart() ) {
self::enqueue_script( 'wc-cart', $frontend_script_path . 'cart' . $suffix . '.js', array( 'jquery', 'wc-country-select' ) );
self::enqueue_script( 'wc-cart', $frontend_script_path . 'cart' . $suffix . '.js', array( 'jquery', 'wc-country-select', 'wc-address-i18n' ) );
}
if ( is_checkout() || is_page( get_option( 'woocommerce_myaccount_page_id' ) ) ) {
self::enqueue_script( 'select2' );

View File

@ -149,6 +149,7 @@ Yes you can! Join in on our [GitHub repository](http://github.com/woothemes/wooc
* Tweak - Improve grouped product quantity inputs.
* Tweak - Load the persistant cart if cart is empty.
* Tweak - Prevent cart being cleared when accessing the login page.
* Tweak - Shipping calculator - Made state/postcode respect country locale like checkout.
= 2.3.5 - 20/02/2015 =
* Fix - Plain text address formatting.

View File

@ -25,7 +25,7 @@ if ( get_option( 'woocommerce_enable_shipping_calc' ) === 'no' || ! WC()->cart->
<section class="shipping-calculator-form" style="display:none;">
<p class="form-row form-row-wide">
<p class="form-row form-row-wide" id="calc_shipping_country_field">
<select name="calc_shipping_country" id="calc_shipping_country" class="country_to_state" rel="calc_shipping_state">
<option value=""><?php _e( 'Select a country&hellip;', 'woocommerce' ); ?></option>
<?php
@ -35,7 +35,7 @@ if ( get_option( 'woocommerce_enable_shipping_calc' ) === 'no' || ! WC()->cart->
</select>
</p>
<p class="form-row form-row-wide">
<p class="form-row form-row-wide" id="calc_shipping_state_field">
<?php
$current_cc = WC()->customer->get_shipping_country();
$current_r = WC()->customer->get_shipping_state();
@ -70,7 +70,7 @@ if ( get_option( 'woocommerce_enable_shipping_calc' ) === 'no' || ! WC()->cart->
<?php if ( apply_filters( 'woocommerce_shipping_calculator_enable_city', false ) ) : ?>
<p class="form-row form-row-wide">
<p class="form-row form-row-wide" id="calc_shipping_city_field">
<input type="text" class="input-text" value="<?php echo esc_attr( WC()->customer->get_shipping_city() ); ?>" placeholder="<?php _e( 'City', 'woocommerce' ); ?>" name="calc_shipping_city" id="calc_shipping_city" />
</p>
@ -78,7 +78,7 @@ if ( get_option( 'woocommerce_enable_shipping_calc' ) === 'no' || ! WC()->cart->
<?php if ( apply_filters( 'woocommerce_shipping_calculator_enable_postcode', true ) ) : ?>
<p class="form-row form-row-wide">
<p class="form-row form-row-wide" id="calc_shipping_postcode_field">
<input type="text" class="input-text" value="<?php echo esc_attr( WC()->customer->get_shipping_postcode() ); ?>" placeholder="<?php _e( 'Postcode / Zip', 'woocommerce' ); ?>" name="calc_shipping_postcode" id="calc_shipping_postcode" />
</p>