在企业网站中,点击根分类时,显示当前根分类下的子分类,这是个很常见的需求。大多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) |
|
例2
1.现在function.php里面添加下面的代码
| 代码如下 | 复制代码 |
|
function get_category_root_id($cat)
|
|
2.然后在页面要显示二级分类的地方粘贴下面这段代码即可
| 代码如下 | 复制代码 |
|
if(is_single()||is_category())
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 ' } } ?> |
|
现在就万事具备了,我们就实现一下吧!
| 代码如下 | 复制代码 |
|
|
|
获得WordPress指定分类(包括子分类)下的所有文章数
| 代码如下 | 复制代码 |
|
$parent_array = get_categories('hide_empty=0&parent=79'); //使用get_categories()函数,里面参数的意思是hide_empty把子分类下没有文章的也显示出来 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) //第三步 $sub_count +=$vv->category_count; //第二级子分类下文章数进行统计 } $total = $count+$sub_count+$three_count; |
|
//将第一级和第二级和第三级统计的文章数目进行相加后放到一个变量中。
这样我们通过php的foreach循环用很少的代码就将一个分类下的文章数目统计出来了
模拟极限越野
模拟极限越野开着大巴在各种奇葩路况里送乘客。山路弯道多得让人
模拟火车
模拟火车让你当回真正的火车司机,得先学会看信号灯、操作控制杆
可口的披萨美味的披萨
可口的披萨美味的披萨带您体验经营一家披萨店的乐趣。游戏画风温
定制虚拟偶像最新版
定制虚拟偶像最新版是一款超级经典有趣的日本模拟装扮类型的手游
病娇模拟器手机版正版(yandere simulator)
病娇模拟器最新版手游是一款萌妹二次元模拟游戏,玩家在游戏中可