WooCommerce 管理员订单页面更改折扣标签

WooCommerce Admin Order Page change Discount(s) label

在 WooCommerce 的最新更新中,他们将折扣一词更改为优惠券。这是订单总数 table。请参阅此屏幕截图以了解 > 清晰度 https://prnt.sc/sq6xfh

我想尽可能将其改回折扣,因为当您实际应用折扣时说优惠券真的没有意义。理想情况下,如果需要,最好显示折扣和优惠券行,因为有时您可能会应用优惠券和折扣。

目前,我正在尝试更改上面屏幕截图中指出的折扣标签。

我在插件核心文件中找到了代码并且知道我无法更改它,这是代码:

    </tr>
    <?php if ( 0 < $order->get_total_discount() ) : ?>
        <tr>
            <td class="label"><?php esc_html_e( 'Coupon(s):', 'woocommerce' ); ?></td>
            <td width="1%"></td>
            <td class="total">-
                <?php echo wc_price( $order->get_total_discount(), array( 'currency' => $order->get_currency() ) ); // WPCS: XSS ok. ?>
            </td>
        </tr>
    <?php endif; ?>

我不确定如何通过我的 functions.php

在上面的代码中将优惠券更改为折扣

感谢任何帮助。 干杯 尼克

您可以这样使用 WordPress gettext 挂钩:

add_filter('gettext', 'custom_strings_translation', 20, 3);
function custom_strings_translation( $translated_text, $text, $domain ) {
global $pagenow, $typenow;

    // Settings
    $current_text = "Coupon(s):";
    $new_text     = "Discount(s):";

    // Targeting admin single order pages
    if( is_admin() && in_array($pagenow, ['post.php', 'post-new.php']) && 'shop_order' === $typenow && $current_text === $text ){
        $translated_text =  __( $new_text, $domain );
    }
    return $translated_text;
}

代码进入活动子主题(或活动主题)的 functions.php 文件。已测试并有效。

相关回答: