在WooCommerce电子邮件中查找/编辑订单详细信息元文本

时间:2019-06-19 08:42:06

标签: php wordpress woocommerce translation

我正在尝试将客户电子邮件翻译成中文,但在源代码中找不到任何地方:

我已经找到了所有其他内容,我认为这些内容也经过硬编码,但是我在代码中找不到它们。

enter image description here

这是在我的email-order-details.php文件中:

<?php
$totals = $order->get_order_item_totals();

if ( $totals ) {
    $i = 0;
    foreach ( $totals as $total ) {
        $i++;
        ?>
        <tr>
            <th class="td" scope="row" colspan="2" style="text-align:<?php echo esc_attr( $text_align ); ?>; <?php echo ( 1 === $i ) ? 'border-top-width: 4px;' : ''; ?>"><?php echo wp_kses_post( $total['label'] ); ?></th>
            <td class="td" style="text-align:<?php echo esc_attr( $text_align ); ?>; <?php echo ( 1 === $i ) ? 'border-top-width: 4px;' : ''; ?>"><?php echo wp_kses_post( $total['value'] ); ?></td>
        </tr>
        <?php
    }
}
if ( $order->get_customer_note() ) {
    ?>
    <tr>
        <th class="td" scope="row" colspan="2" style="text-align:<?php echo esc_attr( $text_align ); ?>;"><?php esc_html_e( 'Note:', 'woocommerce' ); ?></th>
        <td class="td" style="text-align:<?php echo esc_attr( $text_align ); ?>;"><?php echo wp_kses_post( wptexturize( $order->get_customer_note() ) ); ?></td>
    </tr>
    <?php

但是我看不到在哪里可以更改以下内容:

  • 小计:
  • 折扣:
  • 运输:
  • 付款方式:
  • 总计:
  • 税收:

1 个答案:

答案 0 :(得分:1)

通过名为gettext的内置WordPress过滤器翻译字符串可能是更好的使用方法,尤其是因为翻译应在整个网站范围内进行,而不仅应在电子邮件上进行,

>
add_filter( 'gettext', 'my_custom_string_translation', 999, 3 );
function my_custom_string_translation( $translated, $text, $domain ) {
    $translated = str_ireplace( 'Subtotal',       'Your translation here.', $translated );
    $translated = str_ireplace( 'Discount',       'Your translation here.', $translated );
    $translated = str_ireplace( 'Shipping',       'Your translation here.', $translated );
    $translated = str_ireplace( 'Payment Method', 'Your translation here.', $translated );
    $translated = str_ireplace( 'Total',          'Your translation here.', $translated );
    return $translated;
}

您可以将代码放在functions.php或自定义插件文件中。