wordpress中调用当前分类下的子分类代码
发布:smiling 来源: PHP粉丝网 添加日期:2014-03-18 22:53:46 浏览: 评论:0
自己没用过wordpress博客但是个人认为wordpress有函数可直接来子调用当前分类下的子分类的,但是我找了很久没找到,后来找到一具朋友自己的做法,下面我来整理一下.
在企业网站中,点击根分类时,显示当前根分类下的子分类,这是个很常见的需求,大多cms也能实现这个功能,如果使用wordpress架构,可以吗?
答案是肯定的,wordpress也可以实现这样的功能.
其实主要用到wp_list_categorys()函数,该函数的child_of参数是一个数字,显示指定ID(也就是所填的这个数字)下的子分类,这样只要找到当前分类根分类的ID就可以显示了。
the_category_ID()用于显示当前页面的分类ID,默认是输出的,作为参数传递时,最好传入一个false参数,即the_category_ID(false)获取当前分类ID。
接着就是要获取当前分类的父ID,这个也是本文的重中之重,扒了很多资料,也没找到直接可以实现的,不过通过一个函数,倒可以间接获取,代码如下:
- function get_category_root_id($cat)
- {
- $this_category = get_category($cat); // 取得当前分类
- while($this_category->category_parent) // 若当前分类有上级分类时,循环
- {
- $this_category = get_category($this_category->category_parent); // 将当前分类设为上级分类(往上爬)
- }
- return $this_category->term_id; // 返回根分类的id号
- }
实例2:
1.现在function.php里面添加下面的代码:
- function get_category_root_id($cat)
- {
- $this_category = get_category($cat); // 取得当前分类
- while($this_category->category_parent) // 若当前分类有上级分类时,循环
- {
- $this_category = get_category($this_category->category_parent); // 将当前分类设为上级分类(往上爬)
- }
- return $this_category->term_id; // 返回根分类的id号
- }
2.然后在页面要显示二级分类的地方粘贴下面这段代码即可
- <?php
- if(is_single()||is_category())
- {
- if(get_category_children(get_category_root_id(the_category_ID(false)))!= "" )
- {
- echo '<ul>';
- 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");
- echo '</ul>';
- }
- }
- ?>
现在就万事具备了,我们就实现一下吧,代码如下:
- wp_list_categories("child_of=".get_category_root_id(the_category_ID(false)). "&depth=0&hide_empty=0&title_li=");
获得WordPress指定分类(包括子分类)下的所有文章数,代码如下:
- $parent_array = get_categories('hide_empty=0&parent=79');
- //使用get_categories()函数,里面参数的意思是hide_empty把子分类下没有文章的也显示出来
- //parent 父级分类的ID号
- foreach($parent_array as $k=>$v) //第一步
- {
- $sub_parent_array = get_categories('parent='.$v->cat_ID);
- foreach($sub_parent_array as $kk=>$vv) //第二步
- {
- $three_parent_array = get_categories('hide_empty=0&parent='.$vv->cat_ID);
- foreach($three_parent_array as $kkk=>$vvv) //第三步
- {
- $three_count +=$vvv->category_count; //第三极子分类下文章数进行统计
- }
- $sub_count +=$vv->category_count; //第二级子分类下文章数进行统计
- }
- $count +=$v->category_count; //第一级子分类下文章数进行统计
- }
- $total = $count+$sub_count+$three_count;
- //将第一级和第二级和第三级统计的文章数目进行相加后放到一个变量中。
- 这样我们通过php的foreach循环用很少的代码就将一个分类下的文章数目统计出来了
Tags: wordpress 当前分类 子分类
相关文章
- ·WordPress初级教程1:什么是博客?(2013-11-11)
- ·WordPress初级教程-2: 什么是WordPress?(2013-11-11)
- ·WordPress初级教程-3: WordPress的功能和特点(2013-11-11)
- ·WordPress初级教程-4: 选择WordPress博客的主机和域名(2013-11-11)
- ·WordPress初级教程-5: 安装WordPress(2013-11-11)
- ·WordPress初级教程-6: 本地安装WordPress(2013-11-11)
- ·WordPress初级教程-7: 一个数据库中安装多个WordPress博客(2013-11-11)
- ·WordPress初级教程-8: WordPress控制面板/ Dashboard(2013-11-11)
- ·WordPress初级教程-9: WordPress用户设置/ Users(2013-11-11)
- ·WordPress初级教程-10: WordPress博客配置/ Settings(2013-11-11)
- ·关于wordpress上传图片不显示的原因(2013-11-11)
- ·WordPress程序的脆弱点你知道吗 (2013-11-11)
- ·总结八大Wordpress网站百度收录实现秒收的方法绝招 (2013-11-11)
- ·WordPress如何网站投稿者也可以上传图片(2014-03-18)
- ·WordPress怎么修改新用户注册邮件内容(2014-03-18)
- ·WordPress怎么添加前台注册功能(2014-03-18)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)