我们的商店已设置为仅在悉尼市内处理订单。我们通过设置统一费率交付的允许邮政编码在Woocommerce中进行管理。 我们现在将交货延伸到其他地区,但只能通过电话(这些新邮政编码没有在线订单)。 Woocommerce显示标准的No Shipping消息,但我们会自定义
非常感谢任何技术方向。
感谢。
答案 0 :(得分:1)
下面的代码可以帮助您。将两个函数中的数组变量$ zip_array的值更改为逗号分隔的邮政编码列表,您希望显示自定义邮件。另外,将$ custom_msg的字符串值更改为自定义消息。更多详情,请参阅this article。
// For Cart Page.
add_filter( 'woocommerce_no_shipping_available_html', 'wf_customize_default_message', 10, 1 );
// For Checkout page
add_filter( 'woocommerce_cart_no_shipping_available_html', 'wf_customize_default_message', 10, 1 );
function wf_customize_default_message( $default_msg ) {
$zip_array = array(
'30031',
);
if ( in_array( WC()->customer->get_shipping_postcode() , $zip_array) ) {
$custom_msg = "Call us for quotation - 1-800-XXX-XXXX";
if( empty( $custom_msg ) ) {
return $default_msg;
}
return $custom_msg;
}
return $default_msg;
}
add_filter('woocommerce_package_rates', 'wf_remove_shipping_options_for_particular_zip_codes', 8, 2);
function wf_remove_shipping_options_for_particular_zip_codes($rates, $package)
{
global $woocommerce;
$zip_array = array(
'30031',
);
if ( in_array( $woocommerce->customer->get_shipping_postcode() , $zip_array) ) {
$rates = array();
}
return $rates;
}