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

如何仅为特定产品覆盖WooCommerce Subscriptions价格字符串

WooCommerce订阅价格字符串修改逻辑限定特定产品实现方案

核心实现逻辑:在原有字段修改逻辑前增加产品匹配判断,非指定产品直接返回原始配置,不执行后续修改,避免影响其他产品的价格显示。

完整可直接使用的代码

add_filter( 'woocommerce_subscriptions_product_price_string_inclusions', 'wpd_override_subscription_price_string', 10, 2 );
function wpd_override_subscription_price_string( $include, $product ) {
    // 替换括号内的数字为你需要应用逻辑的产品ID,多个ID用英文逗号分隔
    $target_product_ids = array( 123, 456 );

    // 获取当前产品ID,兼容简单产品、可变产品变体场景
    $current_product_id = $product->get_id();
    // 若需要可变产品下所有变体都跟随父产品应用规则,取消下一行注释即可
    // if ( $product->is_type( 'variation' ) ) $current_product_id = $product->get_parent_id();

    // 非目标产品直接返回原始配置,跳过后续修改
    if ( ! in_array( $current_product_id, $target_product_ids ) ) {
        return $include;
    }
 
    /*
        可控制的价格字段开关说明:
        'tax_calculation'     => get_option( 'woocommerce_tax_display_shop' ),
        'subscription_price'  => true,
        'subscription_period' => true,
        'subscription_length' => true,
        'sign_up_fee'         => true,
        'trial_length'        => true,
    */
 
    $include['subscription_period'] = false;
    $include['sign_up_fee'] = false;
    $include['trial_length'] = false;
 
    return $include;
}

使用注意事项

  • 单产品应用规则时,$target_product_ids仅填写对应产品ID即可,示例:array( 32 )
  • 多产品应用规则时,在数组内追加对应ID,用英文逗号分隔
  • 若需要按产品分类、SKU等其他维度判断,只需要替换ID判断部分的逻辑即可,比如获取产品SKU后判断是否在目标SKU列表内

内容的提问来源于stack exchange,提问作者Cristiana Șotëngeanu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 18:01:08