获取Woocommerce中特定产品类别的特定产品属性值

用户名

我已经设法通过以下代码获取所有颜色属性:

$color_terms = get_terms(
        array(
        'taxonmy'=>'pa_color'
    ));

这适用于Shop页面,并返回所有颜色,但是如何将其限制为特定类别?可以说在“衬衫”类别中,我只有2种颜色,我只想显示这2种颜色。

LoicTheAztec

请尝试以下使用唯一的轻型SQL查询的自定义函数:

function get_attribute_terms_in_product_cat( $category_term_name, $attribute_taxonomy ){
    global $wpdb;

    $terms = $wpdb->get_results( "SELECT DISTINCT t.*
        FROM {$wpdb->prefix}terms as t
        JOIN {$wpdb->prefix}term_taxonomy as tt ON tt.term_id = t.term_id
        JOIN {$wpdb->prefix}term_relationships as tr ON tt.term_taxonomy_id = tr.term_taxonomy_id
        WHERE tt.taxonomy LIKE '$attribute_taxonomy'
        AND tr.object_id IN ( SELECT DISTINCT tr2.object_id
            FROM {$wpdb->prefix}term_relationships as tr2
            JOIN {$wpdb->prefix}term_taxonomy as tt2 ON tt2.term_taxonomy_id = tr2.term_taxonomy_id
            JOIN {$wpdb->prefix}terms as t2 ON tt2.term_id = t2.term_id
            WHERE tt2.taxonomy LIKE 'product_cat' AND t2.name = '$category_term_name'
        )" );

    return $terms;
}

代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试和工作。


用法

// Get the "pa_color" attribute terms for product category "Shirts"
$terms = get_attribute_terms_in_product_cat( "Shirts", "pa_color" );

这里的“衬衫”是产品类别的术语名称,“ pa_color”是产品属性分类法…

您将获得一个包含以下内容的产品属性值(条件对象)数组:

  • 术语ID (键term_id
  • 术语名称(键name
  • 词条(键slug

您可以使用foreach循环访问每个term对象:

// Get the "pa_color" attribute terms for product category "Shirts"
$terms = get_attribute_terms_in_product_cat( "Shirts", "pa_color" );

// Loop through each term
foreach( $terms as $term ){
    $term_id   = $term->term_id;
    $term_name = $term->name;
    $term_slug = $term->slug;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

用Woocommerce 3中特定产品类别的产品替换加售商品

隐藏Woocommerce中具有特定产品类别的产品

显示Woocommerce中特定产品类别的产品

取消设置woocommerce中特定产品类别的产品选项卡

在Woocommerce中仅允许购买特定产品类别的一种产品

避免在Woocommerce中更新特定产品类别的购物车价格

WooCommerce中特定产品类别的小数步长

删除Woocommerce中针对特定产品类别的添加购物车按钮

更改 Woocommerce 中特定产品类别的购物车项目价格

WooCommerce中特定产品类别的最小购物车项目数量

WooCommerce中特定产品类别的最小购物车数量

在 WooCommerce 中输出特定产品类别的自定义短代码

更改特定产品类别的WooCommerce产品数量设置

WooCommerce:CSS-定位特定产品类别

基于特定产品类别的WooCommerce结帐消息

WooCommerce特定产品类别的渐进式数量折扣

WooCommerce禁止特定产品类别的ClearPay付款

从 Woocommerce 的特定产品类别中删除“未找到产品”

检查产品是否属于 Woocommerce 中的特定产品类别

隐藏 WooCommerce 购物车中特定产品类别的 woocommerce-checkout-review-order 表

WooCommerce 中特定产品类别的自定义条款和条件复选框

更改Woocommerce 3中特定产品类别的“添加到购物车”文本

删除WooCommerce 3中特定产品类别的“添加到购物车”按钮

隐藏Woocommerce 3中特定产品类别的购物车优惠券字段

Ajax上的JS警报已添加到购物车,以获取Woocommerce中特定产品类别的数量

在Woocommerce中为特定产品类别添加自定义按钮

在Woocommerce中为特定产品类别添加费用

在WooCommerce结帐中制作特定产品类别所需的订单注释

列出Woocommerce中给定产品类别的子类别