#推荐
WordPress获取获取到父分类的所有子分类

在WordPress获取父分类是比较常见的,悟空搜今天给大家讲讲怎么获取父分类的所有子分类。

其实也很简单,主要用到这个函数:wp_list_categories(),不过在用函数之前需要添加一段代码:

 

  1. //父分类获取所有子分类
  2. function get_category_root_id($cat) {
  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. }

 

把上面代码添加到主题的 function.php 文件最下,然后在需要获取父分类的所有子分类的地方使用下面代码:

 

  1. <?php wp_list_categories(
  2.     $args = array(
  3.         'show_option_all'    => '',
  4.         'orderby'            => 'name',
  5.         'use_desc_for_title' => 1,
  6.         'child_of'           => get_category_root_id($cat),
  7.         'optioncount'=>1,
  8.         'hierarchical'       => 1,
  9.         'title_li'           => '',
  10.         'show_option_none'   => __('<span style="padding:0 20px;">抱歉,暂无分类。</span>'),
  11.         'depth'              => 1,
  12.         'taxonomy'           => 'category',
  13.         'walker'             => null
  14.     ));
  15. ?>

 

这样就可以在获取到父分类的所有子分类

 

方法2

在企业网站制作时,需要在网站的边栏列出企业产品分类,如果公司网站产品项目很多的情况,就需要设置二级分类或者子分类。如下图:

WordPress获取获取到父分类的所有子分类

如何在自己建网站时显示当前分类下的子分类或者在文章页显示所属分类的子分类这样的问题,尤其在做wordpress中文主题的时候必须要用到这个技巧的。

方法/步骤

1.首先在网站主题的函数模板function.php里添加以下代码:

 

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

2.然后在页面要显示子分类的地方(一般是在侧边栏)粘贴下面这段代码即可

  1. <?php wp_list_cats('child_of=' . get_category_root_id($cat) . '&depth=1&hide_empty=0&hierarchical=1&optioncount=1');?>  

如果想更灵活的调用当前分类下的子分类,可以使用下面的代码:

  1. <?php  
  2. $args=array(  
  3. 'child_of'=> get_category_root_id($cat),  
  4. 'hide_empty'=>'0',  
  5. );  
  6. $categories=get_categories($args);  
  7. foreach($categories as $category) {  
  8. echo '<h3><a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a></h3>';  
  9. }  
  10. ?>  
收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有M币奖励和额外收入!

模板下载吧 WP技术 WordPress获取获取到父分类的所有子分类 https://www.mbxzb.com/blog/file/wordpress/44368.html

从明天起,做一个幸福的人,喂马、劈柴、周游世界…

常见问题
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用
查看详情

相关文章

评论
暂无评论
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 威武 友军 顶贴
官方客服团队

为您解决烦忧 - 24小时在线 专业服务