如何获取WooCommerce可变产品的变体属性数量?
解决WooCommerce可变产品变体属性数量判断问题
要获取可变产品的变体属性数量,无需依赖get_available_variations(),直接调用WooCommerce产品对象的get_variation_attributes()方法即可——该方法会返回所有用于生成变体的属性数组,用count()函数就能得到属性的数量。
修改后的完整代码如下:
add_action( 'woocommerce_before_single_product_summary', 'if_multiple_attributes' ); function if_multiple_attributes() { global $product; // 确认当前产品是可变类型 if ( $product->get_type() === 'variable' ) { // 获取所有变体属性数组 $variation_attributes = $product->get_variation_attributes(); // 计算属性数量 $attribute_count = count( $variation_attributes ); // 当属性数量大于1时执行操作 if ( $attribute_count > 1 ) { // 此处写入你要执行的逻辑 echo '该产品包含多个变体属性'; } } }
关键说明:
get_variation_attributes()返回关联数组,键为属性的slug(如pa_size),值为该属性对应的可选值集合。count($variation_attributes)直接统计数组元素个数,即变体属性的总数量。- 相比遍历
get_available_variations()的方案,此方法更直接高效,无需处理大量变体数据。
内容的提问来源于stack exchange,提问作者jlock
相关产品推荐
相关产品推荐

