如何让WordPress在不同页面显示不同分类的文章?
前段时间有网友留言咨询“WordPress能不能使添加的不同文章在不同页面显示呢?我的网站是做连锁短租房的,举个例子,我想让属于济南的文章只在济南页面显示,属于北京的文章只在北京的页面显示”,我的答案是肯定的,WordPress程序如此强大,这点小小的功能当然能实现了,虽然该网友的网站已经实现了这一功能,但我还是说一下“WordPress在不同页面显示不同分类的文章”的过程,供大家参照,如果有更好的方法也希望大家提出来。
一、首先创建分类文章页面模板(定义分类页面模板,很重要的一步)
复制博客所使用主题下的index.php,更改index.php的文件名,比如beijing.php,为了使分类页面更像首页,所以复制首页的模板来改,
在bejing.php的头部加上一段代码,声明bejing.php是一个模板文件。
<?php
/*
Template Name: bejing
*/
?>
二、修改该页面模板
上面的页面模板还不能显示某个分类下的文章,必须稍作修改才行,在bejing.php的文件中找到<?php if (have_posts()) : ?>代码,如果你想让分类页面显示分类ID为1的10篇文章,只需要在<?php if (have_posts()) : ?>的前面加上<?php query_posts(’showposts=10&cat=1′); ?>,即可,showposts=10表示显示10篇文章,cat=1表示ID为1的分类,你可以通过修改这两个参数实现显示不同的分类和文章数,(分类ID可在wordpress后台管理-管理分类的分类链接下看到)。
如果你不想让分类页面模板显示的跟首页一模一样,可以删除或增加相关代码,比如你不想在分类页面中显示侧边栏,就必须把bejing.php文件当中的<?php get_sidebar(); ?>代码删除。
三、上传刚修改好的bejing.php文件到当前博客所使用的主题目录下
四、在管理后台创建不同分类文章的页面
模板有了,这时就可以创建页面了,在后台“页面”里选择“添加新页面”,标题处写上页面的名称,比如“北京”,永久链接设为bejing,然后在“页面模板”选择刚刚创建的bejing。
至此,在不同页面显示不同分类文章的方法已经实现。
原来在Wordpress不同页面可以显示不同的文章啊
[...] 之前在导航条上面加一项的方法是新增一个page,但是在wordpress里面page跟post实际上是同一级的element,区别大概就是page不能留comment了,因此如果是只单纯新增一个page的话,点进去显示的就是一个post的页面,不能像主页那样显示多个写好的posts。当下的想法是能不能改一下page的模板,让它像主页那样显示多个posts,只不过显示的是同一个tag或者分类的posts。网上也有人提过这样的方法,例如这里,说的是用不同的模板来显示不同的page。 [...]