1 回答
TA贡献1829条经验 获得超7个赞
这里的主要问题是你试图在结束 html 标签之后的html 中<div>插入一个带有一些内容的 html 标签......<table></tr>
所以显示的 Html 中断,即使它看起来没有。
相反,您应该使用以下 html 结构:
<tr><td colspan="2"><div>Your formatted text (message)</div></td></tr>
现在did_action()条件对您的代码没有影响,也不global $woocommerce是必需的(并且已经过时了一段时间)。
这样您的内容将显示在表格行中,因为它应该。
这将彻底解决您的问题……
所以你的代码将是这样的:
//add message to CHECKOUT if outside delivery area
add_action( 'woocommerce_review_order_after_shipping', 'outside_delivery_checkout', 20);
function outside_delivery_checkout() {
$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' ) {
$html = '<tr class="delivery-message"><td colspan="2"><div class="outside-delivery checkout">
<strong>' . __("PLEASE NOTE:") . '</strong><br />';
$html .= __("Your shipping destination is outside of our normal delivery area. Our team will call you to calculate an additional fuel surcharge.");
$html .= ' <strong>' . __("Please refresh the page after updating your shipping settings.") . '</strong>';
echo $html . '</div></td></tr>';
}
}
代码进入您的活动子主题(或活动主题)的 functions.php 文件。测试和工作。
- 1 回答
- 0 关注
- 85 浏览
添加回答
举报