2015-06-02 147 views
1

我想显示哪些类别属于Wordpress中的特定帖子。 我只想显示catID为10的孩子的类别,并且不想显示孙子女。只选择子类别,不是孙子

所以我现在有这个hyrarchie(这只是它的一部分)

Areas (parent, catID = 10) 
- Pals/Begur (child) 
-- Aiguablava (grandchild) 
-- Fornells (grandchild) 

我只想表明帕尔斯/贝格尔。

这是代码,它现在显示儿童和孙子。

<?php 
    foreach((get_the_category()) as $childcat) { 
      if (cat_is_ancestor_of(10, $childcat)) { 
       echo $childcat->cat_name.', '; 
      } 
    } 
?> 
+0

就可以使问题的标题更具体?)) – Rocketq

回答

1

尝试使用parent属性为get_the_category功能,只得到一类的直接孩子。

foreach((get_the_category('parent' => 10)) as $childcat) { 
    ... 
} 

从WordPress的摘自:

父:仅显示类别是由它的ID确定的类别的直接后代(即孩子仅)。这不适用于'child_of'参数。此参数没有默认值。 [在2.​​8.4]

0
foreach((get_the_category('parent'=> 10)) as $childcat) { 
    $child_cats = $childcat->term_id;          
    $args = array(
     'orderby' => 'ID', 
     'order' => 'DESC', 
     'child_of' => $child_cats, 
     'hide_empty' => 0 
    ); 

    $grandchild_categories = get_categories($args); 
    foreach ($grandchild_categories as grandchild_category) { 
     echo $grandchild_category->cat_name.', '; 
    } 
} 
相关问题