2017-06-23 76 views
0

我必須在單組合頁面中顯示頂級分類。顯示當前單個帖子tye的當前頂級分類 - Wordpress

此代碼的工作對我來說唯一的,如果有一個子類, 一些投資項目沒有一個子類別,在這種情況下,它不會顯示父分類(顯然沒有父分類)

<?php 
    // variable for location 
    $term_list = ''; 
    $terms  = get_the_terms($post->ID, 'portfolio_cat'); 
    $prefix = ''; 

     foreach($terms as $term) { 
      $parent_term = get_term($term->parent, 'portfolio_cat'); 
      $term_list .= $prefix . $parent_term->name; 
      $prefix  = ', '; 

      } 

     // output 
    echo $term_list; 
?> 

任何人都知道解決方案?

回答

0

您應該使用subcategory檢查當前類別的子元素,如果有的話,您可以打印當前父類別。

<?php 
    // variable for location 
    $term_list = ''; 
    $terms  = get_the_terms($post->ID, 'portfolio_cat'); 
    $prefix = ''; 

     foreach($terms as $term) { 
      $parent_term = get_term_children($term->parent, 'portfolio_cat'); 
      if(count($parent_term) > 0){ 
       $term_list .= $prefix . $parent_term->name; 
       $prefix  = ', '; 
      }else{ 
       $term_list .= $prefix . $term->name; 
       $prefix  = ', '; 
      } 
      } 

     // output 
    echo $term_list; 
?> 

https://developer.wordpress.org/reference/functions/get_the_terms/

https://codex.wordpress.org/Function_Reference/get_term_children

+0

我必須添加$ parent_term = get_term_children($條款而─>父, 'portfolio_cat');也在$ term_list之前,如果,現在eveything運作良好!謝謝! – alice

相關問題