You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自定义WooCommerce Subscribe All The Things插件订阅选项文本的代码求建议

WooCommerce Subscribe All The Things 自定义文本代码问题及优化

现有代码存在的问题

  • 钩子匹配错误:你当前选用的wcsatt_single_product_subscription_option_description过滤器仅负责修改订阅方案的描述文本,无法覆盖你要调整的「one time option(一次性购买选项)」字符串,不符合你的开发需求。
  • 存在冗余代码:代码中声明了$option_price_class变量,但全程没有调用,属于无效内容,可直接删除。
  • 无本地化支持:硬编码的「Subscription:」静态文本没有使用WordPress官方的本地化函数,多语言站点无法对该文本做翻译适配。
  • 样式适配性差:输出的<span>标签没有添加专属类名,后续如果要调整该区域的样式,很难精准定位元素。

适配需求的优化代码

如果你的目标是修改一次性购买选项的文本,可使用以下代码:

// 修改一次性购买选项描述
function filter_wcsatt_single_product_one_time_option_description( $option_description, $product ) {
    // 可自行修改下方的「一次性购买:」文本为你需要的内容
    $option_description = '<span class="one-time-option-label">' . esc_html__( '一次性购买:', '你的文本域名' ) . '</span> 
    <span class="one-time-option-price">' . wc_price( $product->get_regular_price() ) . '</span>';
    return $option_description;
}
add_filter( 'wcsatt_single_product_one_time_option_description', 'filter_wcsatt_single_product_one_time_option_description', 10, 2 );

// 如果你同时需要修改订阅选项的描述,可保留以下逻辑
function filter_wcsatt_single_product_subscription_option_description( 
$option_description, $sub_price_html, $has_price_filter, $force_subscription, $product, $subscription_scheme ) {
    $option_description = '<span class="subscription-option-label">' . esc_html__( '订阅:', '你的文本域名' ) . '</span> 
    <span class="subscription-option-price">' . $sub_price_html . '</span>';
    return $option_description;
}
add_filter( 'wcsatt_single_product_subscription_option_description', 'filter_wcsatt_single_product_subscription_option_description', 10, 6 );

优化说明

  • 替换为对应需求的官方钩子,确保修改的是目标区域的文本
  • 删除了未使用的冗余变量,精简代码逻辑
  • 加入esc_html__()本地化转义函数,兼顾多语言适配和输出安全
  • 给标签添加了专属类名,后续调整CSS样式可以直接选中对应元素
  • 如果你不需要修改订阅选项的描述,直接删除第二段回调函数和对应钩子绑定即可

内容的提问来源于stack exchange,提问作者Mr.Devops

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 02:57:01