Woocommerce 评论订单总挂钩两次回显结果

Woocommerce review order total hook is echoing result twice

我想获得我在 functions.php 中使用以下代码的购物车总数:

function display_total(){
    global $woocommerce;
    $newTotal = $woocommerce->cart->get_total();

    echo $newTotal;
};
add_action( 'woocommerce_review_order_before_order_total', 'display_total');

它不像 .00.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">&#36;</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">&#36;</span>18.00</bdi></span>' (length=128)

我做错了什么?

回显 table 行中的值,这样它就不会回显两次。所以你的代码应该是这样的:

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 挂钩正在 table 中使用,因此在 trtd 标记之间添加您的值将导致回显值一次。