广告
返回顶部
首页 > 资讯 > CMS >wordpress调用当前分类下子分类的方法
  • 909
分享到

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

wordpress调用当前分类子分类方法 2022-06-12 02:06:02 909人浏览 薄情痞子
摘要

本文实例讲述了Wordpress调用当前分类下子分类的方法。分享给大家供大家参考。具体分析如下: 自己没用过wordpress博客但是个人认为wordpress有函数可直接来子调用当前分类下的子分类的,但是我找了很久没找

本文实例讲述了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建站有所帮助。

--结束END--

本文标题: wordpress调用当前分类下子分类的方法

本文链接: https://www.lsjlt.com/news/32276.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作