WordPress调用显示父子分类目录

2019年12月23日13:39:06 2 106 views

WordPress调用显示父子分类目录,在当前分类或者正文页面想调用显示与当前分类存在父子关系的分类目录时会用到。对于自适应站点,特别的移动端,在分类页或文章页显示父子分类目录作为标签非常有用,效果如下:

WordPress调用显示父子分类目录

调用WordPress父子分类目录

在当前分类或者正文页面想调用显示与当前分类存在父子关系的分类目录时会用到。

代码一、将下面代码加到主题模板适当位置,比如侧边栏:

  1. <?php
  2.     $current = "";
  3.     if(is_single()){
  4.         $parent = get_the_category();
  5.         $parent = $parent[0];
  6.         $current = "&current_category=".$parent->term_id;
  7.     }else if(is_category()){
  8.         global $cat;
  9.         $parent = get_category($cat);
  10.     }
  11.     if($parent->category_parent != 0){
  12.         $cat_id = $parent->category_parent;
  13.         $parent = get_category($cat_id);
  14.         if($parent->category_parent != 0){
  15.             $cat_id = $parent->category_parent;
  16.         }else{
  17.             $cat_id = $parent->term_id;
  18.         }
  19.     }else{
  20.         $cat_id = $parent->term_id;
  21.     }
  22. ?>
  23. <?php if(!is_page()) { ?>
  24.     <h3><?php echo $parent->cat_name; ?><span><?php echo $parent->slug; ?></span></h3>
  25.     <ul id="cat_list">
  26.         <?php wp_list_categories("title_li=&child_of=$cat_id".$current); ?>
  27.     </ul>
  28. <?php } ?>

代码二、将下面代码加到主题function.php模板文件中:

  1. function get_category_root_id($cat)
  2. {
  3.     $this_category = get_category($cat); // 取得当前分类
  4.     while($this_category->category_parent) // 若当前分类有上级分类时,循环
  5.     {
  6.         $this_category = get_category($this_category->category_parent); // 将当前分类设为上级分类(往上爬)
  7.     }
  8.     return $this_category->term_id; // 返回根分类的id号
  9. }

调用显示代码加到主题模板的适当位置:

  1. <?php
  2.     if(is_category())
  3.     {
  4.         if(get_category_children(get_category_root_id(the_category_ID(false)))!= "" )
  5.         {
  6.             echo '<ul>';
  7.             echo wp_list_categories("child_of=".get_category_root_id(the_category_ID(false)). "&depth=0&hide_empty=0&title_li=&orderby=id&order=ASC");
  8.             echo '</ul>';
  9.         }
  10.     }
  11. ?>

代码来源:http://zmingcx.com/wordpress-sons-category.html

显示WordPress父子分类目录

当需要显示文章的父分类和当前分类链接时,我们可以使用这段代码:

  1. $categories = get_the_category();
  2. echo '<ul>';
  3. echo '<li> Parent Category: ';
  4. foreach$categories as $category ){
  5.      if($category->parent != 0){
  6.           $parent_category = get_term( $category->parent );
  7.           echo '<a href="' . esc_url( get_category_link($parent_category->term_id)) . '">' . esc_html($parent_category->name) . ' </a>';
  8.           break;
  9.      }
  10. }
  11. echo '</li>';
  12. echo '<li>Subcategory: ';
  13. foreach$categories as $category ){
  14.      if($category->parent != 0){
  15.           echo '<a href="' . esc_url( get_category_link($category->term_id)) . '">' . esc_html($category->name) . ' </a>';
  16.      }
  17. }
  18. echo '</li></ul>';

©里维斯社,本站推荐使用的主机:阿里云腾讯云;本站推荐使用的WP主题:WordPress主题

里维斯社
晨会游戏

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:2   其中:访客  1   博主  1

    • avatar boke112联盟 6

      这个有空可以折腾试试,不过平时我倒是很少用到这个功能