我想获取我在 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
也会产生 2 行 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)
我做错了什么?
最佳答案
回显表行中的值,这样它就不会回显两次。所以你的代码应该是这样的:
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
Hook ,因此在 tr
和 td
标记之间添加您的值会导致回显该值一次。
关于php - Woocommerce 评论订单总 Hook 两次回显结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69441109/