WordPress教程

如何调用WordPress父子分类目录

阿里云

相信有很多使用 wordpress 模板的博友,把分类目录列表显示在博客首页,有利于提高用户体验。WordPress 经常用到的博客分类目录调用函数是 wp_list_cats,对于该函数,普通博主可能只会简单地应用,其实通过给它设置不同的参数,可以显示不同的分类目录列表的效果。在当前分类或者正文页面想调用显示与当前分类存在父子关系的分类目录时会用到。

代码一:

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

也想出现在这里?联系我们
创客主机
  1. // CSS样式可以自己修改
  2. <style>.crumbs_wrap #cat_list{border-top: 1px #eee solid;margin: 20px -20px 0;padding: 20px 0 0;}.crumbs_wrap ul{text-align: left;}</style>
  3.     <?php
  4.         $current = "";
  5.         if(is_single()){
  6.             $parent = get_the_category();
  7.             $parent = $parent[0];
  8.             $current = "&current_category=".$parent->term_id;
  9.         }else if(is_category()){
  10.             global $cat;
  11.             $parent = get_category($cat);
  12.         }
  13.         if($parent->category_parent != 0){
  14.             $cat_id = $parent->category_parent;
  15.             $parent = get_category($cat_id);
  16.             if($parent->category_parent != 0){
  17.                 $cat_id = $parent->category_parent;
  18.             }else{
  19.                 $cat_id = $parent->term_id;
  20.             }
  21.         }else{
  22.             $cat_id = $parent->term_id;
  23.         }
  24.     ?>
  25.     <?php if(!is_page()) { ?>
  26.         <h3><?php echo $parent->cat_name; ?><span><?php echo $parent->slug; ?></span></h3>
  27.         <ul id="cat_list">
  28.             <?php wp_list_categories("title_li=&child_of=$cat_id".$current); ?>   
  29.         </ul>
  30.     <?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.     ?>

显示 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>';

如何调用 WordPress 父子分类目录

已有 506 人购买
查看演示升级 VIP立刻购买

收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!