更改 Woocommerce 结帐中的默认 "Save to account" 文本

Change default "Save to account" text in Woocommerce checkout

我正在使用条带网关处理付款。有一段来自 woocommerce "Save to account" 的文字,对于我的目的而言,它的描述性不强。此文本位于 WC_Payment_Gateway save_payment_method_checkbox() method

理想情况下,它类似于“保存我的信用卡详细信息以供将来购买(可选)”

支持建议我安装一个翻译插件来更改这三个词,在我看来这太过分了。

关于如何最好地改变这一点有什么想法吗?

WooCommerce WordPress 中有很多 hooksfilters 可用。您可以使用 hooksfilters

覆盖 WordPress 中的布局和功能

例如:

  <p class="woocommerce-notice woocommerce-notice--success woocommerce-thankyou-order-received">
<?php echo apply_filters( 'woocommerce_thankyou_order_received_text', __( 'Thank you. Your order has been received.', 'woocommerce' ), $order ); ?>
</p>

WooCommerce hooks and filters list

我想它在结帐页面上……如果是这样,请尝试以下方法:

add_filter('gettext', 'change_save_to_account_text', 100, 3 );
function change_save_to_account_text( $translated_text, $text, $domain ) {
    if( $text === 'Save to account' && $domain == 'woocommerce' && is_checkout() )
    {
        $translated_text =  __( 'Save my credit card details for future purchases (optional)', $domain );
    }
    return $translated_text;
}

代码进入您的活动子主题(或活动主题)的 function.php 文件。

If it's not on checkout page, replace is_checkout() by the correct conditional tag