wordpress调用当前分类下子分类的方法

所属分类: CMS教程 / WordPress 阅读数: 1470
收藏 0 赞 0 分享

本文实例讲述了wordpress调用当前分类下子分类的方法。分享给大家供大家参考。具体分析如下:

自己没用过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循环用很少的代码就将一个分类下的文章数目统计出来了。

希望本文所述对大家的WordPress建站有所帮助。

更多精彩内容其他人还在看

WordPress速度优化系列之 清理数据库的方法

今天这篇”WordPress速度优化系列之清理数据库,全部来源于之前对和邪社进行优化所得来的经验以及教训,以后还有其他相关的文章
收藏 0 赞 0 分享

WordPress站点出现404错误时邮件通知管理员的方法

这篇文章主要为大家介绍了WordPress站点出现404错误时邮件通知管理员的方法,可实现出现404错误的情况下邮件通知管理员的功能,对网站优化很有帮助,需要的朋友可以参考下
收藏 0 赞 0 分享

WordPress实现搜索结果只有一篇文章时自动跳转到文章的方法

这篇文章主要为大家介绍了WordPress实现搜索结果只有一篇文章时自动跳转到文章的方法,通过一个简单的自定义函数实现搜索结果只有一篇时跳转到文章的技巧,可提高用户体验,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

WordPress中文截取函数用法分析

这篇文章主要为大家介绍了WordPress中文截取函数用法分析,对比分析了常用的代码以及WordPress中对应的方法,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

WordPress给文章图片自动添加链接的方法

这篇文章主要为大家介绍了WordPress给文章图片自动添加链接的方法,以实例形式分析了自动给图片添加链接以及给关键字添加链接的技巧,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

WordPress在IIS服务器上的伪静态设置方法(解决中文URL无法访问问题)

这篇文章主要介绍了WordPress在IIS服务器上的伪静态设置方法,本文使用的伪静态规则解决了中文URL无法访问问题,,需要的朋友可以参考下
收藏 0 赞 0 分享

WORDPRESS 建站过程中常见的15个错误小结

WordPress在国内博客建站领域一枝独秀,在cms建站方面也有着超强的人气,可以搭建各类型站点,并给站长带来超凡的体验,百度“WordPress建站”教程一箩筐,但是有一些常见的尝试性错误往往被人忽视,这里选摘了网友的一则博文,相信会给广大站长带来一定启迪
收藏 0 赞 0 分享

关闭wordpress新用户注册邮件通知的方法

这篇文章主要为大家介绍了关闭wordpress新用户注册邮件通知的方法,将对应功能的邮件发送通知代码注释掉即可,是非常实用的技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

WordPress实现登录或退出后直接跳转回首页的方法

这篇文章主要为大家介绍了WordPress实现登录或退出后直接跳转回首页的方法,可实现对跳转页面的控制,是非常实用的技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

Dedecms待审核章在列表页显示的方法

这篇文章主要为大家介绍了Dedecms待审核章在列表页显示的方法,实例分析了两种常见的技巧,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多