Woocommerce 审查订单总挂钩两次回显结果
Posted
技术标签:
【中文标题】Woocommerce 审查订单总挂钩两次回显结果【英文标题】:Woocommerce review order total hook is echoing result twice 【发布时间】:2021-11-25 04:21:04 【问题描述】:我想在functions.php
中使用以下代码获取购物车总数:
function display_total()
global $woocommerce;
$newTotal = $woocommerce->cart->get_total();
echo $newTotal;
;
add_action( 'woocommerce_review_order_before_order_total', 'display_total');
不像$18.00$18.00
那样显示两次,而不是显示一次。
var_dump
也会产生两行 html:
D:\Wordpress\wp-content\themes\new_theme\functions.php:161:string '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">$</span>18.00</bdi></span>' (length=128)
D:\Wordpress\wp-content\themes\new_theme\functions.php:161:string '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">$</span>18.00</bdi></span>' (length=128)
我做错了什么?
【问题讨论】:
@Ruvee 谢谢,但已经尝试过了。相反,“返回”不显示任何内容。 尝试在表格中间回显值怎么样:echo '<tr><td >' . $newTotal . '</td></tr>';
@Ruvee 非常感谢。现在工作。但这是什么原因呢?
【参考方案1】:
回显表格行中的值,这样它就不会回显两次。所以你的代码会是这样的:
add_action( 'woocommerce_review_order_before_order_total', 'display_total');
function display_total()
global $woocommerce;
$newTotal = $woocommerce->cart->get_total();
echo '<tr><td >' . $newTotal . '</td></tr>';
;
原因是,woocommerce_review_order_after_order_total
钩子正在表中使用,因此在 tr
和 td
标记之间添加您的值将导致该值回显一次。
【讨论】:
以上是关于Woocommerce 审查订单总挂钩两次回显结果的主要内容,如果未能解决你的问题,请参考以下文章
在验证之后但在 Woocommerce 结帐中创建订单之前挂钩
成功付款后 woocommerce_thankyou 挂钩不起作用