我想将结帐页面中的"Total"文本更改为"Total inkl "。增值税"。我尝试过不同的事情,但都没有成功。
这是我的目标:
<?php _e( 'Total', 'woocommerce' ); ?>
这是代码片段。我已经搜索了所有的语言文件,但我找不到任何东西。我已经安装了Q翻译插件,但我不认为这是问题。
我可以对它进行硬编码,但这不是一个好的解决方案,因为我必须在所有文件中进行此编辑。
我该怎么做呢?
谢谢
选项1 (最佳选择)
覆盖woocommerce checkout/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>
现在你可以保存了,你完成了…
引用:
- 模板结构+通过主题覆盖模板
- Woocommerce模板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"
文本(一次在'Products'之后的第一行)和一次在末尾…