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

如何移除WooCommerce商品列表页可变产品属性名称并水平显示属性值

WooCommerce商品列表页可变属性显示优化

我找到了一段可在WooCommerce商品列表页显示可变产品属性的代码,当前显示效果中包含属性标签“Marime”(意为“尺寸”),且尺寸选项为垂直排列。我需要移除该标签文本,同时让尺寸选项水平显示,达到目标效果。

现有代码

/**
 * Replace add to cart button in the loop.
 */
function iconic_change_loop_add_to_cart() {
    remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
    add_action( 'woocommerce_after_shop_loop_item', 'iconic_template_loop_add_to_cart', 10 );
}

add_action( 'init', 'iconic_change_loop_add_to_cart', 10 );

/**
 * Use single add to cart button for variable products.
 */
function iconic_template_loop_add_to_cart() {
    global $product;

    if ( ! $product->is_type( 'variable' ) ) {
        woocommerce_template_loop_add_to_cart();
        return;
    }

    remove_action( 'woocommerce_single_variation', 'woocommerce_single_variation_add_to_cart_button', 20 );
    add_action( 'woocommerce_single_variation', 'iconic_loop_variation_add_to_cart_button', 20 );

    woocommerce_template_single_add_to_cart();
}

/**
 * Customise variable add to cart button for loop.
 *
 * Remove qty selector and simplify.
 */
function iconic_loop_variation_add_to_cart_button() {
    global $product;

    ?>
    <div class="woocommerce-variation-add-to-cart variations_button">
        <button type="submit" class="single_add_to_cart_button button"><?php echo esc_html( $product->single_add_to_cart_text() ); ?></button>
        <input type="hidden" name="add-to-cart" value="<?php echo absint( $product->get_id() ); ?>" />
        <input type="hidden" name="product_id" value="<?php echo absint( $product->get_id() ); ?>" />
        <input type="hidden" name="variation_id" class="variation_id" value="0" />
    </div>
    <?php
}

当前显示效果

当前显示效果

目标显示效果

目标显示效果


实现方案

1. 移除“Marime”属性标签

将以下PHP代码添加到主题的functions.php文件或自定义插件中:

// 在商品列表页移除尺寸属性的标签文本
add_filter( 'woocommerce_attribute_label', 'remove_marime_attribute_label', 10, 3 );
function remove_marime_attribute_label( $label, $name, $product ) {
    // 替换 'pa_marime' 为你实际的尺寸属性slug(WooCommerce属性slug默认以pa_开头)
    if ( 'pa_marime' === $name && ( is_shop() || is_product_category() || is_product_tag() ) ) {
        return '';
    }
    return $label;
}

注意:可在WooCommerce后台产品 > 属性中查看尺寸属性的实际slug,确保代码中对应值正确。

2. 让尺寸选项水平排列

将以下CSS代码添加到主题的自定义CSS面板(外观 > 自定义 > 额外CSS)或子主题的style.css文件中:

/* 商品列表页可变属性选项水平排列 */
.woocommerce ul.products li.product .variations {
    display: flex;
    gap: 10px; /* 调整选项之间的间距 */
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.woocommerce ul.products li.product .variations .label {
    display: none; /* 确保标签完全隐藏 */
}

.woocommerce ul.products li.product .variations select {
    padding: 6px 10px;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    min-width: 60px;
}

若你的属性是单选按钮而非下拉框,可将CSS选择器调整为.woocommerce ul.products li.product .variations input[type="radio"] + label,设置对应水平排列样式。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 12:44:53