Products
GG网络技术分享 2025-03-18 16:14 0
在前面的章节中,我们完成了wordpress网站首页模板数据的调用,也创建好了wordpress网站的公共模板。今天,我们再来给wordpress网站的分类目录页模板archive.php文件添加左侧数据的调用。一般情况下,wordpress网站的分类目录页面,展示的是该分类下的文章列表,所以,本节课我们将介绍如何给wordpress网站分类页面调用文章列表和分页效果?下面,一起来看看吧(具体请观看《wordpress网站分类目录,如何添加文章列表和分页效果?》视频课程)。
这个wordpress循环函数,我们在wordpress网站很多模板中会使用到,如:首页的文章列表、文章详情页、搜索页、单页面等等。我们打开archive.php模板文件,找到左侧的父标签< div class="c_left">(如下图),现在里面是空的。
在这个< div class="c_left">标签内部添加如下代码:
效果如下图:
wordpress循环语句添加好后,我们再在这个循环语句的主体中添加文章数据调用,这里,我们调用文章的标题、链接和发表的时间,代码如下:
这样,我们就添加好了wordpress网站分类模板左侧的文章列表调用,效果如下图:
wordpress网站的分类下的文章可能会很多,一个页面展示不下去,所以,我们一般都会给分类目录下的文章列表添加分页效果。在当前wordpress分类模板的文章列表代码下方,添加如下代码:
因为wordpress这个分页函数the_posts_pagination(),我们在前面的章节中介绍过,这里,我就不费口舌了,大家可以查阅一下我前面发表的内容。添加好分页按钮后,wordpress网站分类的前台页面显示如下:
好了,通过上面的三步,我们给我们的wordpress网站的分类目录添加好了文章列表和分页效果。在下一课中,我们将介绍《wordpress网站不同的分类页面,怎样调用不同的banner图?》,欢迎大家到时收看。
本文实例讲述了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建站有所帮助。
Demand feedback