如何修改WooCommerce我的账户内订阅的收费显示文本?
修改订阅显示文本的无插件方案
你可以通过WordPress核心钩子或WooCommerce专属钩子实现,无需安装翻译类插件,以下是两种可行方案:
方案一:通用文本替换(针对指定页面)
利用WordPress的gettext钩子,仅在订阅相关页面替换目标文本。将以下代码添加到当前主题的functions.php文件末尾:
add_filter('gettext', 'custom_subscription_text', 20, 3); function custom_subscription_text( $translated_text, $text, $domain ) { // 限定仅在订阅页面生效 if ( is_account_page() && ( strpos( $_SERVER['REQUEST_URI'], 'view-subscription' ) !== false || strpos( $_SERVER['REQUEST_URI'], 'subscriptions' ) !== false ) ) { if ( $text === '$99.00 every 6 years' ) { $translated_text = '$99.00 after 1-month trial'; // 替换为你需要的实际描述文本 } } return $translated_text; }
操作步骤:登录WordPress后台 → 外观 → 主题文件编辑器 → 找到并打开functions.php → 粘贴代码并保存。
方案二:精准针对特定订阅产品
如果是WooCommerce订阅产品,可使用专属钩子仅修改ID为4619的订阅显示文本,代码更精准:
add_filter('woocommerce_subscription_price_string', 'custom_subscription_price_display', 10, 3); function custom_subscription_price_display( $price_string, $subscription, $args ) { // 仅修改指定ID的订阅 if ( $subscription->get_id() == 4619 ) { $price_string = '$99.00 after 1-month trial'; // 替换为目标文本 } return $price_string; }
注意事项
- 修改主题文件前建议先备份
functions.php,或使用子主题添加代码,避免主题更新导致代码丢失; - 若担心修改主题文件风险,可使用轻量代码片段插件(如Code Snippets),这类插件体积极小,不会造成站点臃肿。
内容的提问来源于stack exchange,提问作者Andy
相关产品推荐
相关产品推荐

