Найти / изменить метатекст с информацией о заказе в электронных письмах WooCommerce - PullRequest
1 голос
/ 19 июня 2019

Я пытаюсь перевести электронные письма клиентов на китайский, но нигде не могу найти их в исходном коде:

Мне удалось найти все остальное, и я думаю, что они также жестко закодированы, ноЯ не могу найти их в коде.

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 Ответ

1 голос
/ 19 июня 2019

Перевод строки через встроенный фильтр WordPress с именем gettext, вероятно, будет лучшим способом для использования, тем более, что перевод должен быть тогда для всего сайта, а не только для электронной почты, пример ниже:

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 или файл пользовательского плагина.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...