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

如何获取WooCommerce可变产品中定义变体的属性

获取WooCommerce可变产品中定义变体的属性

核心实现逻辑

WooCommerce里,用于生成变体的属性会被标记为「用于变体」,只需遍历产品属性并检查这个标记,就能筛选出目标属性。

代码示例

// 先获取目标可变产品对象,$product_id为产品ID
$product = wc_get_product($product_id);

if ( $product && $product->is_type('variable') ) {
    $used_for_variation_attrs = [];
    
    // 遍历产品所有属性
    foreach ( $product->get_attributes() as $attr ) {
        // 检查属性是否用于生成变体
        if ( $attr->get_variation() ) {
            $used_for_variation_attrs[] = [
                'id'    => $attr->get_id(),
                'name'  => $attr->get_name(),
                'slug'  => $attr->get_slug()
            ];
        }
    }
    
    // 处理结果,比如取第一个符合条件的属性(对应你场景里的「尺寸」)
    if ( !empty($used_for_variation_attrs) ) {
        $target_attr = $used_for_variation_attrs[0];
        // 后续可使用$target_attr['id']、$target_attr['name']等参数
    }
}

关键方法说明

  • get_attributes():返回产品所有属性的WC_Product_Attribute对象数组
  • get_variation():判断属性是否被设置为「用于变体」,返回布尔值
  • 若需直接操作原始元数据,可调用$product->get_meta('_product_attributes'),其中'is_variation' => true的条目即为目标属性

内容的提问来源于stack exchange,提问作者Faye D.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 17:42:02