仅在 WooCommerce 中显示特定国家/地区的运费计算器邮政编码字段
Show shipping calculator postcode field only for specific countries in WooCommerce
我正在使用 答案代码,我测试过并且工作正常。
但问题是它隐藏了所有国家/地区的运费计算器的邮政编码。
我想对所有国家隐藏它,除了一个国家:比利时 (BE)。
这可能吗?我怎样才能让它适用于除比利时以外的所有国家/地区。
我认为您可以根据所选国家动态隐藏和显示邮政编码字段 jQuery:
add_action( 'wp_footer', 'show_shipping_calculator_postcode_field_based_on_country', 50 );
function show_shipping_calculator_postcode_field_based_on_country() {
if ( ! is_cart() ) return;
?>
<script type='text/javascript'>
jQuery(function($){
$(document.body).on('change', 'select[name="calc_shipping_country"]', function() {
let country = $(this).find( 'option:selected' ).val();
let postcode = $(this).closest( 'p#calc_shipping_country_field' ).siblings( 'p#calc_shipping_postcode_field' ).find('input');
if ( country !== 'BE' ) {
postcode.prop('disabled', true);
postcode.attr('value', '');
postcode.hide();
} else {
postcode.prop('disabled', false);
postcode.attr('value', '<?php echo WC()->customer->get_shipping_postcode(); ?>');
postcode.show();
}
});
});
</script>
<?php
}
这会清除邮政编码字段的值,在所选国家/地区不是比利时时将其禁用并隐藏。
我正在使用
但问题是它隐藏了所有国家/地区的运费计算器的邮政编码。
我想对所有国家隐藏它,除了一个国家:比利时 (BE)。
这可能吗?我怎样才能让它适用于除比利时以外的所有国家/地区。
我认为您可以根据所选国家动态隐藏和显示邮政编码字段 jQuery:
add_action( 'wp_footer', 'show_shipping_calculator_postcode_field_based_on_country', 50 );
function show_shipping_calculator_postcode_field_based_on_country() {
if ( ! is_cart() ) return;
?>
<script type='text/javascript'>
jQuery(function($){
$(document.body).on('change', 'select[name="calc_shipping_country"]', function() {
let country = $(this).find( 'option:selected' ).val();
let postcode = $(this).closest( 'p#calc_shipping_country_field' ).siblings( 'p#calc_shipping_postcode_field' ).find('input');
if ( country !== 'BE' ) {
postcode.prop('disabled', true);
postcode.attr('value', '');
postcode.hide();
} else {
postcode.prop('disabled', false);
postcode.attr('value', '<?php echo WC()->customer->get_shipping_postcode(); ?>');
postcode.show();
}
});
});
</script>
<?php
}
这会清除邮政编码字段的值,在所选国家/地区不是比利时时将其禁用并隐藏。