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

时间:2020-02-20 13:43:55

标签: php wordpress woocommerce

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

例如,以下是我的类别:

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

我现在想在目录树下的每个目录存档中显示内容。 例如在汽车,跑车和意大利跑车中。

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

is_product_category( 'cars' )

但是没有in_product_category()。因此,我无法检查类别“ Italian sportcars”是否是“ Cars”的子代。

有什么办法吗?

2 个答案:

答案 0 :(得分:1)

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

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

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

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

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

答案 1 :(得分:0)

您可以检查子类别对象上的父类别属性。子类别的父属性包含其父类别的ID。 在您的情况下,“意大利跑车”字词对象的父属性指向“汽车”字词的ID。