我已经尝试从这个例子开始工作(动态信息基于运输方式和购物车总计在 Woocommerce 中),但是我的动态消息显示了两次。任何帮助是极大的赞赏。
本质上,我想做的是,如果用户的送货不在送货区域(使用 WooCommerce 的“您的其他区域未涵盖的位置”送货区域),则显示一条消息。只有当用户不在定义的运输区域时,该消息才会正确显示 - 但它会加倍。一个似乎在 ajax 刷新之内,另一个似乎在它之外。不完全确定它是如何或为什么这样做的。
//add message to CHECKOUT if outside delivery area
add_action( 'woocommerce_review_order_after_shipping', 'outside_delivery_checkout', 20);
function outside_delivery_checkout() {
global $woocommerce;
if ( did_action( 'woocommerce_review_order_after_shipping' ) >= 2 ) {
return once;
}
$chosen_shipping_method_id = WC()->session->get( 'chosen_shipping_methods' )[0];
$chosen_shipping_method = explode(':', $chosen_shipping_method_id)[0];
$cart_subtotal = WC()->cart->subtotal;
if ($cart_subtotal && $chosen_shipping_method === 'free_shipping') {
echo '<div class="outside-delivery checkout"><b>PLEASE NOTE:</b><br /> Your shipping destination is outside of our normal delivery area. Our team will call you to calculate an additional fuel surcharge. <strong>Please refresh the page after updating your shipping settings.</strong></div>';
} elseif ($cart_subtotal && $chosen_shipping_method != 'free_shipping') {
// do nothing
}
}
这是问题的链接: https: //redstarrolloffqc.com/dumpster-sizes-rates/ - 添加产品并转到结帐页面。
千巷猫影