在 WooCommerce 结帐页面中自定义文本“总计”
Posted
技术标签:
【中文标题】在 WooCommerce 结帐页面中自定义文本“总计”【英文标题】:Customize the text "Total" in WooCommerce checkout page 【发布时间】:2017-01-20 08:19:06 【问题描述】:我想将结帐页面中的“Total”文本更改为“Total inkl.vat”。我尝试了不同的事情但没有成功……
这是我的目标:
<?php _e( 'Total', 'woocommerce' ); ?>
这是代码 sn-p。我搜索了所有语言文件,但找不到任何东西。我已经安装了 Q 翻译插件,但我认为这不是问题。
我可以努力编码,但这不是一个好的解决方案,因为我必须在我的所有文件中进行此编辑。
请问我怎样才能做到这一点?
谢谢
【问题讨论】:
您的整个网站是否都使用某种语言,只是那一行没有翻译?或者您想更改翻译? 【参考方案1】:选项 1 (最佳选项)
Overriding the woocommercecheckout/review-order.php
模板。
您需要先(如果未完成) 到 复制
templates
子文件夹位于woocommerce
插件文件夹到您的活动子主题(或主题)文件夹,并将其重命名为woocommerce
。
完成活动主题后,转到 woocommerce > checkout
,然后打开/编辑
review-order.php
模板文件。
在这个模板的最后你有这个:
<?php do_action( 'woocommerce_review_order_before_order_total' ); ?>
<tr class="order-total">
<th><?php _e( 'Total', 'woocommerce' ); ?></th>
<td><?php wc_cart_totals_order_total_html(); ?></td>
</tr>
<?php do_action( 'woocommerce_review_order_after_order_total' ); ?>
</tfoot>
</table>
所以你会改变:
<th><?php _e( 'Total', 'woocommerce' ); ?></th>
收件人:
<th><?php _e( 'Total inkl. vat', 'woocommerce' ); ?></th>
现在可以保存了,大功告成……
参考资料:
Template Structure + Overriding Templates via a Theme Woocommerce template checkout > review-order.php选项 2 (不理想,见下文)
您可以为此目的使用 wordpress gettex()
本机函数,这样:
add_filter('gettext', 'wc_renaming_checkout_total', 20, 3);
function wc_renaming_checkout_total( $translated_text, $untranslated_text, $domain )
if( !is_admin() && is_checkout )
if( $untranslated_text == 'Total' )
$translated_text = __( 'Total inkl. vat','theme_slug_domain' );
return $translated_text;
此代码位于您的活动子主题(或主题)的 function.php 文件中或任何插件文件中。
但是您会在价格表中获得 2 个自定义文本,因为有 2 个
"Total"
文本(在第一行在“产品”之后)和最后一次......
此代码已经过测试并且可以工作。
【讨论】:
link@LoicTheAztec @loictheaztec - 我使用了你的解决方案来解决这个问题related question,但注意到你的代码和 cmets 在我对我对你的建议所做的调整进行投票和评论之前就已经消失了。如果您可以将回复放回去,那么我会感谢您,并可能将其链接为相关问题。 @Les 抱歉,我已取消删除我的答案。 @LoicTheAztec 有什么技巧可以只针对选项 2 中的两个刺中的一个吗?以上是关于在 WooCommerce 结帐页面中自定义文本“总计”的主要内容,如果未能解决你的问题,请参考以下文章