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

求WooCommerce 7.2.2前端显示会员订阅价的自定义函数

WooCommerce 7.2.2 自定义订阅价格展示函数

以下是适配需求的自定义代码,可直接添加到主题的functions.php文件或自定义功能插件中:

/**
 * 在商品前端显示5折订阅价格提示(仅非会员可见)
 * 适配WooCommerce 7.2.2 + YITH Membership
 */
add_action( 'woocommerce_after_shop_loop_item_title', 'display_subscription_price_text', 15 );
add_action( 'woocommerce_single_product_summary', 'display_subscription_price_text', 15 );

function display_subscription_price_text() {
    // 仅前端显示,后台跳过
    if ( is_admin() ) return;

    // 已登录且是会员的用户不显示
    if ( is_user_logged_in() && function_exists('yith_wcmbs_is_user_member') && yith_wcmbs_is_user_member() ) return;

    global $product;
    if ( ! $product ) return;

    // 获取当前有效价格(优先取销售价,无销售价则取原价)
    $current_price = $product->is_on_sale() ? $product->get_sale_price() : $product->get_regular_price();
    if ( empty( $current_price ) ) return;

    // 计算5折订阅价
    $subscription_price = $current_price * 0.5;

    // 格式化价格(匹配站点货币设置)
    $formatted_sub_price = wc_price( $subscription_price );

    // 输出订阅价格文本
    echo '<p class="subscription-price-text" style="margin: 0.5em 0; color: #666; font-size: 0.9em;">' . $formatted_sub_price . ' with subscription x</p>';
}

/**
 * 可选:添加自定义CSS样式优化显示(可放到主题自定义CSS中)
 */
add_action( 'wp_head', 'subscription_price_custom_css' );
function subscription_price_custom_css() {
    if ( is_admin() ) return;
    ?>
    <style>
        .subscription-price-text {
            font-style: italic;
            margin-top: 0.3em !important;
        }
        .woocommerce-loop-product__title + .price + .subscription-price-text {
            text-align: center; /* 列表页居中显示 */
        }
    </style>
    <?php
}

代码说明:

  • 显示逻辑:仅对未登录用户或已登录但非YITH会员的用户展示订阅价提示
  • 价格计算:自动识别商品当前显示价格(原价/促销价),按固定5折计算订阅价
  • 适配场景:同时支持产品列表页和详情页的价格展示
  • 样式兼容:自带基础样式,可根据需求修改CSS部分

注意事项:

  1. 确保YITH Membership插件已激活,yith_wcmbs_is_user_member()函数可用(若需指定会员计划ID,可改为yith_wcmbs_is_user_member_of( $plan_id ))
  2. 代码需放置在主题的functions.php文件末尾,或使用自定义功能插件避免主题更新丢失
  3. 若站点使用非英文价格格式(如逗号作为小数分隔符),wc_price()会自动适配站点货币设置

内容的提问来源于stack exchange,提问作者Vlad.G

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 12:11:04