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

问题描述 投票:1回答:1

在WooCommerce最近的一次更新中,他们将Discounts一词改为Coupon(s)。这是在订单总数表中。请看这张截图以了解清楚 https:/prnt.scsq6xfh

我想尽可能的把它改回 "折扣",因为当您实际应用了一个折扣时,说 "优惠券 "是没有意义的。理想的情况是,如果需要的话,显示 "折扣 "和 "优惠券 "这两行会更好,因为有时您可能会应用优惠券和折扣。

目前,我正试图改变上面截图中指出的Discount(s)标签。

我已经找到了插件核心文件中的代码,知道我不能改变,这是代码。

    </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将Coupon(s)改为Discounts。

任何帮助赞赏.CheersNik

php wordpress woocommerce gettext orders
1个回答
1
投票

您可以使用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;
}

代码在活动子主题(或活动主题)的function.php文件中。经过测试,可以使用。

相关答案。

© www.soinside.com 2019 - 2024. All rights reserved.