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

WooCommerce单品页仅显示首个变体价格,求显示全部变体价格方案

解决WooCommerce可变产品显示所有变体价格的问题

你需要通过foreach循环遍历所有可用变体,替代原来仅获取第一个变体的逻辑,以下是修改后的完整代码:

<?php 
global $product;

// 简单产品逻辑(如需保留可继续使用,无需可删除)
if ($product->is_type( 'simple' )) { 
    // 这里可添加简单产品的自定义逻辑
} 

// 可变产品处理逻辑
if($product->is_type('variable')) {
    $available_variations = $product->get_available_variations();
    
    // 遍历所有可用变体
    foreach($available_variations as $variation) {
        $variation_id = $variation['variation_id'];
        $variable_product = new WC_Product_Variation($variation_id);
        
        // 获取变体的常规价格和促销价
        $regular_price = $variable_product->get_regular_price();
        $sale_price = $variable_product->get_sale_price();
        
        // 输出变体信息与价格(可根据需求调整格式)
        echo '<div class="variation-price-item">';
        // 显示变体属性(如颜色、尺寸,方便用户区分)
        if(!empty($variation['attributes'])) {
            foreach($variation['attributes'] as $attr_key => $attr_value) {
                $attr_name = str_replace('attribute_', '', $attr_key);
                echo '<span class="variation-attr">' . wc_attribute_label($attr_name) . ': ' . $attr_value . '</span>';
            }
        }
        // 按你原逻辑输出价格总和,也可修改为分别显示原价/促销价
        echo '<span class="price-total">合计价格: ' . wc_price($regular_price + $sale_price) . '</span>';
        echo '</div>';
    }
}
?>

关键修改点:

  • 使用foreach($available_variations as $variation)遍历所有变体,替代仅取第一个变体的写法
  • 改用WooCommerce官方推荐的$product->is_type('variable')判断产品类型,替代过时的product_type属性直接访问
  • 用get_regular_price()和get_sale_price()方法获取价格,替代直接访问对象属性,提升代码兼容性
  • 新增变体属性显示逻辑,帮助用户区分不同变体选项(无需可直接删除这部分代码)
  • 用wc_price()格式化价格,自动适配店铺的货币设置

注意事项:

  • 确保修改的是子主题中的content-single-product.php文件,不要直接修改WooCommerce核心文件,避免插件更新丢失自定义内容
  • 若无需将原价和促销价相加,可调整价格输出逻辑,比如分别显示原价与促销价:
    echo '<span class="regular-price">原价: ' . wc_price($regular_price) . '</span>';
    if(!empty($sale_price)) {
        echo '<span class="sale-price">促销价: ' . wc_price($sale_price) . '</span>';
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 00:20:24