首页 > 解决方案 > Woocommerce 审查订单总挂钩两次回显结果

问题描述

我想获得我在我的使用以下代码的购物车总数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.

执行 a var_dumptoo 会产生 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)

我究竟做错了什么?

标签: phpwordpresswoocommercehook-woocommercewoocommerce-theming

解决方案


回显表格行中的值,使其不会回显两次。所以你的代码会是这样的:

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表中使用了钩子,因此在 atrtdtag 之间添加您的值会导致该值回显一次。


推荐阅读