gpt4 book ai didi

php - 在 Woocommerce 中显示基于客户送货区域的自定义消息

转载 作者:行者123 更新时间:2023-12-04 01:24:43 24 4
gpt4 key购买 nike

在 woocommerce 中,我需要根据送货区域在购物车或结帐页面上显示自定义消息,例如“您将为此邮政编码多支付 10% 的费用”。

我觉得这很容易,但我不能让它工作!它让我发疯!
任何帮助表示赞赏。

我的解决方法是自定义那种默认消息:

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;
}

最佳答案

更新

根据运输区名称(带有邮政编码限制)尝试以下代码,该代码将在运输总行上显示您的消息(但不会生成 woocommerce 通知):

add_action( 'woocommerce_cart_totals_after_shipping' , 'shipping_zone_targeted_postcodes_custom_notice' );
add_action( 'woocommerce_review_order_after_shipping' , 'shipping_zone_targeted_postcodes_custom_notice' );
function shipping_zone_targeted_postcodes_custom_notice() {
// HERE DEFINE YOUR SHIPPING ZONE NAME(S)
$targeted_zones_names = array('France'); // <====== <====== <====== <====== <======

// Get the customer shipping zone name
$chosen_methods = WC()->session->get( 'chosen_shipping_methods' ); // The chosen shipping mehod
$chosen_method = explode(':', reset($chosen_methods) );
$shipping_zone = WC_Shipping_Zones::get_zone_by( 'instance_id', $chosen_method[1] );
$current_zone_name = $shipping_zone->get_zone_name();

if( in_array( $current_zone_name, $targeted_zones_names ) ){
echo '<tr class="shipping">
<td colspan="2" style="text-align:center">' . sprintf(
__( "You'll be charged %s more for %s zip code", "woocommerce"),
'<strong>10%</strong>',
'<strong>' . WC()->customer->get_shipping_postcode() . '</strong>'
) . '</td>
</tr>';
}
}

代码位于事件子主题(或事件主题)的 function.php 文件中。测试和工作。

enter image description here

关于php - 在 Woocommerce 中显示基于客户送货区域的自定义消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52747221/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com