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

WooCommerce未登录隐藏价格并显示按钮问题

修复WooCommerce未登录用户无法隐藏可变商品变体价格的问题

你当前的代码仅处理了简单商品和基础可变商品的价格隐藏,但可变商品的变体价格区间、选择属性后显示的单个变体价格这两个关键输出点未被覆盖,导致带多价格变体的商品仍然会显示价格。

修复后的完整代码

add_action( 'init', 'nascondi_prezzo_se_non_loggato' );
function nascondi_prezzo_se_non_loggato() {
    if ( ! is_user_logged_in() ) {
        // 移除商品列表页的添加购物车按钮和价格
        remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
        remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 );
        
        // 移除商品详情页的基础价格和添加购物车按钮
        remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
        remove_action( 'woocommerce_single_variation', 'woocommerce_single_variation_add_to_cart_button', 20 );
        
        // 新增:移除变体选择后显示的单个变体价格
        remove_action( 'woocommerce_single_variation', 'woocommerce_single_variation_price', 10 );
        
        // 禁用商品可购买状态
        add_filter( 'woocommerce_is_purchasable', '__return_false' );
        
        // 替换为登录提示文本
        add_action( 'woocommerce_single_product_summary', 'mostra_testo_alternativo', 31 );
        add_action( 'woocommerce_after_shop_loop_item', 'mostra_testo_alternativo', 11 );
        
        // 新增:过滤可变商品的价格区间和单个变体价格HTML
        add_filter( 'woocommerce_variable_price_html', 'nascondi_prezzo_variabile', 10, 2 );
        add_filter( 'woocommerce_variation_price_html', 'nascondi_prezzo_variabile', 10, 2 );
    }
}

function mostra_testo_alternativo() {
    // 生成动态登录链接,登录后自动返回当前商品页
    echo '<a href="' . esc_url( wp_login_url( get_permalink() ) ) . '"><div class="button-prezzo">' . __( 'Accedi per vedere i prezzi', 'JupiterX' ) . '</div></a>';
}

// 隐藏可变商品的价格区间和变体价格
function nascondi_prezzo_variabile( $price_html, $product ) {
    return ''; // 直接清空价格HTML,如需替换提示文本可修改此处
}

关键改动说明

  • 新增remove_action('woocommerce_single_variation', 'woocommerce_single_variation_price', 10):移除用户选择变体属性后页面实时显示的单个变体价格。
  • 新增两个过滤钩子woocommerce_variable_price_html和woocommerce_variation_price_html:分别处理可变商品的价格区间(如“¥100-¥200”)和单个变体的价格HTML输出,直接清空或替换为自定义内容。
  • 优化登录链接:使用wp_login_url()生成动态链接,自动附带当前商品页跳转参数,提升用户体验。

内容的提问来源于stack exchange,提问作者Giovanni

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 05:50:22