WooCommerce:检查子类别是否具有特定的父类别

问题描述 投票:0回答:2

我想根据当前类别及其父类别显示内容。 为此,我需要知道当前类别是否是特定父类别的子类别。

例如,这些是我的类别:

  1. 汽车
    • 跑车
      • 意大利跑车
  2. 自行车
    • 越野车
      • 日本越野车

我想显示类别树中每个类别存档中的内容。 例如,在汽车、跑车和意大利跑车中。

对于第一个类别,我可以使用 WooCommerce 的条件标签:

is_product_category( 'cars' )

但是没有

in_product_category()
。所以我无法检查“意大利跑车”类别是否是“汽车”的子类别。

有什么办法可以做到吗?

php wordpress woocommerce
2个回答
2
投票

使用以下代码获取您类别的父类别。

$parentcats = get_ancestors($product_cat_id, 'product_cat');

您将获得一个或多个父类别,作为一个数组并对其进行循环以获得如下值:

foreach($parentcat in $parentcats){
    echo $parentcat;
}

然后您可以使用 IF 条件将其与您的“特定类别”进行比较并执行您想要的操作。


0
投票

您可以检查子类别对象上的父类别属性。子类别有一个父属性,用于保存其父类别的 ID。 在您的情况下,“意大利跑车”术语对象将具有指向“汽车”术语 ID 的父属性。

© www.soinside.com 2019 - 2024. All rights reserved.