仅在 Woocommerce 结帐页面中将文本附加到总价

Posted

技术标签:

【中文标题】仅在 Woocommerce 结帐页面中将文本附加到总价【英文标题】:Append a text to total price only in Woocommerce checkout page 【发布时间】:2019-08-10 13:10:00 【问题描述】:

我有以下代码在购物车和结帐页面的总部分中添加后缀文本:

add_filter( 'woocommerce_cart_total', 'custom_total_message' );
function custom_total_message( $price ) 
    $msg = 'Prices for grocery items may vary at store. Final bill will be based on store receipt.<br />';

    return $price . $msg;

但是,我只希望后缀文本仅显示在结帐页面中,而不显示在购物车页面中。

我该如何做到这一点?

【问题讨论】:

我会避免以这种方式修改价格,也许像add_action( 'woocommerce_after_order_notes', 'custom_total_message') 这样的东西会更合适。我以前用它来处理类似“请允许 14 天的订单处理”类型的消息。 【参考方案1】:

只需使用Woocommerce conditional tags 来限制仅在结帐页面上的显示......

现在您最好使用以下钩子,以避免出现问题,将浮点数与总量的刺融为一体:

add_filter( 'woocommerce_cart_totals_order_total_html', 'custom_total_message_html', 10, 1 );
function custom_total_message_html( $value ) 
    if( is_checkout() )
        $value .= __('Prices for grocery items may vary at store. Final bill will be based on store receipt.') . '<br />';

    return $value;

或者在总计之后的单独表格行上更好,使用这个代替:

add_action( 'woocommerce_review_order_after_order_total', 'review_order_after_order_total_callback' );
function review_order_after_order_total_callback()
    $text = __('Prices for grocery items may vary at store. Final bill will be based on store receipt.');

    ?><tr class="order-total"><th colspan="2"><?php echo $text; ?></th></tr><?php

代码在您的活动子主题(或主题)的 function.php 文件中。经过测试并且可以工作。


如果您决定保留初始挂钩,请使用以下内容:

add_filter( 'woocommerce_cart_total', 'custom_total_message', 10, 1 );
function custom_total_message( $price ) 
    if( is_checkout() )
        $price .= __('Prices for grocery items may vary at store. Final bill will be based on store receipt.') . '<br />';

    return $price;

代码在您的活动子主题(或主题)的 function.php 文件中。未经测试。

【讨论】:

问题 - 我如何将相同的消息添加到订单收到/谢谢页面? @Les 订单在哪里收到?请参阅此答案相关线程***.com/a/55131790/3730754

以上是关于仅在 Woocommerce 结帐页面中将文本附加到总价的主要内容,如果未能解决你的问题,请参考以下文章

Woocommerce 在结帐页面上删除“附加信息”名称

验证 WooCommerce 结帐页面中的附加复选框字段

仅在商店中用 woocommerce 中的贝宝结帐替换添加到购物车按钮

在 WooCommerce 结帐页面中自定义文本“总计”

Paypal 的 Woocommerce 结帐页面文本

在购物车和结帐的 WooCommerce 产品名称中附加自定义字段值