In Woocommerce habe ich den Code für billing_state geschrieben, um die Versandkosten zu verwenden. Jetzt möchte ich den Wert von billing_state nach billing_city schreiben, wenn sich billing_state ändert, ändert sich auch billing_city
Dies sind meine benutzerdefinierten Statuscodes:
add_filter( 'woocommerce_states', 'vietnam_cities_woocommerce' );
function vietnam_cities_woocommerce( $states ) {
$states['VN'] = array(
'HCM' => __('Hồ Chí Minh', 'woocommerce') ,
'HANOI' => __('Hà Nội', 'woocommerce') ,
'HAIPHONG' => __('Hải Phòng', 'woocommerce') ,
);
return $states;
}
Jede Hilfe ist willkommen.
Der folgende Code füllt die Stadt aus dem Zustandswert auf, wenn das Land Vietnam (VN) auf der Checkout-Seite ist:
// Add checkout custom select fields
add_action( 'wp_footer', 'custom_checkout_city_field', 20, 1 );
function custom_checkout_city_field() {
// Only checkout page
if( is_checkout() && ! is_wc_endpoint_url() ):
$country = 'VN'; // <=== <=== The country code
// $states = WC()->countries->get_shipping_country_states()[$country];
?>
<script type="text/javascript">
jQuery(function($){
var c="<?php echo $country; ?>", f="form.checkout";
// On billing state change
$(f).on('change', '#billing_state', function(){
if($('#billing_country').val() == c ){
$('#billing_city').val($(this).val());
}
});
// On shipping state change
$(f).on('change', '#shipping_state', function(){
if($('#shipping_country').val() == c ){
$('#shipping_city').val($(this).val());
}
});
});
</script>
<?php
endif;
}
Der Code wird in die function.php-Datei Ihres aktiven untergeordneten Designs (aktives Design) eingefügt. Getestet und funktioniert.