2016-03-15 66 views
0

我的一些類別有父類別,有些則不。我需要的是一種僅顯示沒有父母和孩子類別的類別的方法。獲得沒有父類別的職位類別,但顯示其他非父母 - 子類別

所以,比如我有

Cat 1 
Cat 2 
Cat 3 
- Cat 3.1 
- Cat 3.2 
Cat 4 
Cat 5 

我的帖子有Cat 1Cat 3Cat 3.1它(永久的原因 - 我需要設置父類爲好)。有了這個:

$category_out=array(); 
$categories = get_the_category(); 
foreach ($categories as $category_one) { 
    $category_out[] ='<a class="' .$category_one->slug.'" href="'.esc_url(get_category_link($category_one->term_id)).'">' .$category_one->name.'</a>'; 
} 
$category_out = implode('', $category_out); 

我將在我的$category_outCat 1Cat 3Cat 3.1脫身。我不希望Cat 3在列表中。

我試着用

$category_out=array(); 
$categories = get_the_category(); 
foreach ($categories as $category_one) { 
    if ($category_one->category_parent != 0) { 
     $category_out[] ='<a class="' .$category_one->slug.'" href="'.esc_url(get_category_link($category_one->term_id)).'">' .$category_one->name.'</a>' 
    } 
} 
$category_out = implode('', $category_out); 

但這僅顯示Cat 3.1以來,在技術上,Cat 1-5都是父類自己。

有沒有辦法在類別列表中只顯示現有父類別和其他非父子類相關類別的子類別?

謝謝。

回答

0

你可以使用get_term_children來實現這個!

循環:

foreach ($categories as $category_one) { 
    if (empty(get_term_children($category_one->term_id,$category_one->taxonomy))){ 
    $category_out[] ='<a class="' .$category_one->slug.'" href="'.esc_url(get_category_link($category_one->term_id)).'">' .$category_one->name.'</a>'; 
    } 
} 
相關問題