如何在wordpress的页面里调用具体分类的文章(加了一个页面专门给爸爸妈妈看,哈哈)
因为我的这个博客,我的爸爸和妈妈有时也会跑上来看,而一看到那么多的技术类的文章或者是牢骚类的文章,他们肯定会不知所措,妈妈就抱怨过这里写的好多都看不懂
,所以今天就给他们加上一个链接,专门存放他们看得懂的文章,这些文章的分类是“生活(技术无关)”(lifewithouttech)。
为了让这个页面更容易被他们看到,我打算把页面的链接放在首页的导航条上,所以就不只是在侧边放一个category的链接那么简单了,需要创建一个page页面来显示“生活”分类的内容。
既然是做个page,那道理就同做一个留言板类似了,只不过这里是在页面里调用分类文章。一直没有时间,这次顺便把留言板一起做了,本篇先写如何在wordpress的页面里调用/插入具体分类的文章:
1、创建特殊页面的模板
复制index.php,修改文件名为pageforbabamama.php,因为这样的页面最像首页了,所以复制首页的模板来改
在pageforbabamama.php的头部加上一段代码:
<?php
/*
Template Name: pageforbabamama
*/
?>
注意,这段代码必须要有,虽然看起来像注释,但确实在声明模板名称,等下创建页面时要用到,很奇怪php里居然可以这样子使用注释代码。这位老兄就是因为误以为是注释而浪费了很多时间。
这样,一个最简单的页面模板就做好了
2、修改这个特殊页面模板
显然这样的页面模板还不能显示特定分类页面下的文章,得稍作修改:
修改一:改为显示某个分类下的文章。在<?php if (have_posts()) : ?>的前面加上<?php query_posts(‘showposts=20&cat=1′); ?>,cat=1可以修改为自己需要的分类ID,(分类ID可在wordpress后台管理-管理分类的分类链接下看到)
修改二:去掉侧边栏。右侧侧边栏里有技术类的链接,所以干脆把整个侧边栏都去掉。删除底部的<?php get_sidebar(); ?>
修改三:改为宽页面。既然去掉了sidebar,那就可以把主页面改为宽页面(注以下css的修改都是借助firebug来发现需要修改的css然后修改的,每个人的模板都不一样)
<div id=”content” >修改为<div id=”content” style=”width:750px;”>
<div class=”entry”>修改为<div class=”entry” style=”width:750px;”>
修改三:爸爸都老花眼了,字看不清,所以使用大字体。<div class=”entry”>修改为<div class=”entry” style=”font-size:20px;”>
修改四:去掉tag。不需要让他们理解什么是tag,所以删了<?php if ( function_exists(‘the_tags’) ) { the_tags(‘<p>Tags: ‘, ‘, ‘, ‘</p>’); } ?>
修改五:去掉广告(暂时没办法自动)。因为我刚刚在《wordpress的google adsense插件——Adsense Injection的安装》提到在每个页面插入了广告代码,显然不能让爸爸妈妈看我的博客还要忍受广告的骚扰,所以在按adsense injection所说的<?php the_content(‘More…’); ?>的上面加上<!–noadsense–>,但发现这样子并不能取消掉这个页面或者文章的广告,只能在写文章时插入<!–noadsense–>才可以,所以还是以后在写分类为babamama的就添加个<!–noadsense–>来实现无广告。
三、上传这个特殊页面的php文件到博客模板目录(/wp-content/themes/博客模板名称/)下
四、在管理后台创建特殊页面
模板有了,这时就可以创建页面了,在“撰写”里选择页面,在标题处写上特殊页面的名称,比如我的是“爸爸妈妈点这里”,永久链接设为babamama,然后“页面模板”选择刚刚创建的pageforbabamama。
(更新:上面的“修改五”有解决办法了,在创建page时,在内容框的html模式下输入:<!–noadsense–>即可实现此page页面没有广告,我把contact和aboutme都加了这句代码)
至此,这个为方便父母查看博客而建立的页面就做好了。

24条评论
dms 2008-06-17 12:17
为什么我按照你的方法建立了一个模板,但是在页面模板中至于存档和链接还有默认三个模板,没有我新建立的那个,帮忙解决啊!!
[回复]
cherry 2008-06-19 15:45
谢谢拉 我终于找到我要的方法了
[回复]
clarezoe 2008-07-09 7:28
我发现一个很重要的问题,就是文章数超过5篇后会分页,可是点击上一页或者下一页,显示的结果却是一样的。结果就是,如果此分类下有六篇文章,也只能显示出设定的最新的5篇文章,之前的就显示不出来了。
不知道fangyi有没有发现这个问题,怎么解决呢?
[回复]
robay 2008-09-05 10:45
正找这个呢,谢谢了。
[回复]
tom 2008-10-18 19:41
你写的太棒了
很详细 很少有些如此详细的 成全了我们这些菜鸟
[回复]
yaohaibin 2008-11-19 14:38
为什么我这样做了显示500错误
救命啊
[回复]
园子 2009-07-20 12:09
您好
我用了这个办法之后发现调用分类的页面无法像首页一样自动截断了
我的截断是在每篇日志里面手动加入MORE来实现的
您知道是什么原因吗?
[回复]
WDZA 2009-07-23 17:50
谢谢分享,学习了。
[回复]
songhl 2009-09-13 0:34
请问,您的头部“技术无关”不是wp中的CATEGORIES?
是自己做的,请问能给一个实现的模板吗?
我的mail:huailongs at 126.com
谢谢
[回复]
陈方毅 reply on 九月 13th, 2009 17:27:
你好,已发,请查收!
[回复]
et83214 2009-10-06 20:06
学习了,找了半天你写的是最详细的一个。
自己照你的步骤搞定了一个只显示某个分类的新页面,但发现新页面不支持日志中的more标签,有解决的办法么?求指教……
[回复]
mgreview 2009-12-16 5:16
写得很详细,学习了。谢谢分享。
[回复]
momo 2010-01-19 22:37
哥们,你写的最好,看了这么多,这个方法是最漂亮的了,非常感谢,各位像我一样的菜鸟使用的时候注意 (‘showposts=20&cat=1′)里面的符号‘’别搞错了,呵呵,直接copy作者的可能会出错,建议用ue或者nodepad++
[回复]
小杜 2010-03-18 22:31
谢谢指教啦!!! 可是新页面不会像首页一样自动截断日志,请教方法~
[回复]
i981 2010-06-07 15:34
已经用上了,感谢
[回复]
kethinc 2010-08-20 8:38
应该可以建一个页面做微博吧
[回复]
匿名 2010-09-07 17:29
你好,我用wp建站,更换主题后,发现原先建立好的菜单没有了,页面还在,以为是按错了什么地方,然后想从“外观”——“菜单”重新建菜单,结果发现“页面栏”显示“无项目”,请你指点该如何操作才能重新建立好菜单呢?发我邮箱吧。dozhanbo@163.com
[回复]
herry 2010-09-17 21:23
谢谢分享,写得很详细,学习了!
[回复]
mylife 2010-11-16 17:11
你好,我那个建的页面模板,从index复制来的,侧边栏想改到
右边,不知道怎么改??是不是对sidebar做注释,怎么注释,
还有对content怎么做注释,就是单独一个页面跟其他页面不一
样,还有很多问题,希望向你请教,楼主QQ多少能否告知??
[回复]