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

如何在WooCommerce中为WooCommerce Subscriptions订阅按钮添加价格

WooCommerce订阅产品订阅按钮显示价格与周期方案

你原有代码未适配WooCommerce Subscriptions插件的专属产品类型,也未读取订阅周期参数,调整后的完整可用代码如下:

/**
 * @snippet       加购/订阅按钮追加价格与订阅周期
 * @compatible    WooCommerce 5.8及以上,WooCommerce Subscriptions 3.0及以上
 */

add_filter('woocommerce_product_add_to_cart_text', 'custom_add_to_cart_price', 20, 2); // 商店页、归档页生效
add_filter('woocommerce_product_single_add_to_cart_text', 'custom_add_to_cart_price', 20, 2); // 商品详情页生效
function custom_add_to_cart_price($button_text, $product)
{
    // 可变产品、可变订阅产品逻辑
    if ($product->is_type(['variable', 'variable-subscription'])) {
        // 商店、归档页展示逻辑
        if (!is_product()) {
            $product_price = wc_price(wc_get_price_to_display($product, array('price' => $product->get_variation_price())));
            $price_text = strip_tags($product_price);
            // 可变订阅产品追加周期标识
            if ($product->is_type('variable-subscription')) {
                return $button_text . ' - 起价 ' . $price_text . '/' . $product->get_billing_period();
            }
            return $button_text . ' - 起价 ' . $price_text;
        }
        // 详情页保留原有逻辑
        else {
            return $button_text;
        }
    }
    // 简单产品、简单订阅产品逻辑
    else {
        $product_price = wc_price(wc_get_price_to_display($product));
        $price_text = strip_tags($product_price);
        // 订阅产品拼接订阅周期
        if (in_array($product->get_type(), ['subscription', 'simple-subscription'])) {
            $billing_interval = $product->get_billing_interval();
            $billing_period = $product->get_billing_period();
            // 自动生成「每2个月」这类周期描述
            $period_text = $billing_interval > 1 ? "每{$billing_interval}个{$billing_period}" : "每{$billing_period}";
            // 如需调整为“Subscribe - $140”格式,可注释下行、启用下下行代码
            return "{$period_text}订阅,费用为{$price_text}";
            // return $button_text . ' - ' . $price_text;
        }
        // 普通简单产品保留原有逻辑
        return $button_text . ' – ' . $price_text;
    }
}

代码调整说明:

  • 新增了对订阅产品专属类型的适配,兼容简单订阅、可变订阅两类订阅商品
  • 自动读取后台设置的订阅间隔、订阅周期参数,可直接生成你需要的按钮文本格式,也可根据注释提示调整展示样式
  • 完全保留原有普通商品的按钮逻辑,不会影响旧有功能的正常使用

内容的提问来源于stack exchange,提问作者Isak La Fleur

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 04:06:03