【问题标题】:Woocommerce review order total hook is echoing result twiceWoocommerce 审查订单总挂钩两次回显结果
【发布时间】: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">&#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)

我做错了什么?

【问题讨论】:

  • @Ruvee 谢谢,但已经尝试过了。相反,“返回”不显示任何内容。
  • 尝试在表格中间回显值怎么样:echo '&lt;tr&gt;&lt;td &gt;' . $newTotal . '&lt;/td&gt;&lt;/tr&gt;';
  • @Ruvee 非常感谢。现在工作。但这是什么原因呢?

标签: php wordpress woocommerce hook-woocommerce woocommerce-theming


【解决方案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 钩子正在表中使用,因此在 trtd 标记之间添加您的值将导致该值回显一次。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-21
    • 2018-08-28
    • 2017-06-10
    • 2020-08-17
    • 1970-01-01
    • 2017-09-17
    • 2018-05-12
    • 2019-01-21
    相关资源
    最近更新 更多