如何调用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>';

原创文章,作者:DavidWu,如若转载,请注明出处:https://www.davidwu.net/archives/87338

WordPress安全防护插件
服务项目 服务内容 收费标准(元)
开发定制 WordPress主题/插件开发定制 (以最终需求为准)
主题/插件汉化 汉化团队WordPress主题/插件,翻译率95% (以标的主题/插件的句子数量为准)
服务器环境配置 基于您现有服务器,搭建配置网站运行环境,结合我们多年来实战经验,可完美支持WordPress等PHP程序运行,并配置伪静态规则、优化目录权限等问题。服务器我们强烈推荐使用Linux系统。 100元/次
网站托管 若贵站目前尚无技术人员,无法完成服务器环境配置,可选择我们的网站托管服务,直接交付正常运行的WordPress站点,并且无需担心服务器的后续维护工作,一切都由我们来帮您完成。 标配套餐:1000元/年/站点 高配套餐:联系客服获取
网站加速优化 从服务器后端配置优化到WordPress数据库缓存、前端页面缓存、JS和CSS压缩合并,全方位优化网站加载速度,实现秒开。(此服务仅针对(云)服务器/VPS) 500元/次(仅站内优化200元/次)
主题配置 本站所有主题均支持,可快速实现,若有任何问题可以咨询客服解决,若您希望我们提供配置服务,可选购此服务。 英文主题安装 60元/次 汉化主题安装 30元/次
HTTPS配置 HTTPS已经不断普及,并且有着更高的安全性以及SEO上的优待。该服务收取的为服务费,SSL证书产生的费用请自行承担。 100元/次
网站搬家 迁移网站所有文件和数据库信息、网站相关配置的调整、以及迁移中的疑难问题故障排除。 标准收费:500元/次 若网站数据量大,需协商
网站运维 提供整站的运维服务,保证网站正常运行。包含:网站故障定位及排除、网站数据备份和恢复、网站攻击及木马等问题的处理等 标准收费:2000元/年 IP 5000以上需协商

发表评论

电子邮件地址不会被公开。 必填项已用*标注

51建站客服微信二维码
点击这里购买