WordPress技巧:如何在wordpress的页面里调用具体分类的文章

因为我的这个博客,我的爸爸和妈妈有时也会跑上来看,而一看到那么多的技术类的文章或者是牢骚类的文章,他们肯定会不知所措,妈妈就抱怨过这里写的好多都看不懂­  ,所以今天就给他们加上一个链接,专门存放他们看得懂的文章,这些文章的分类是“生活(技术无关)”(lifewithouttech)

为了让这个页面更容易被他们看到,我打算把页面的链接放在首页的导航条上,所以就不只是在侧边放一个category的链接那么简单了,需要创建一个page页面来显示“生活”分类的内容。

既然是做个page,那道理就同做一个留言板类似了,只不过这里是在页面里调用分类文章。一直没有时间,这次顺便把留言板一起做了,本篇先写如何在wordpress的页面里调用/插入具体分类的文章:

1、创建特殊页面的模板

复制index.php,修改文件名为pageforbabamama.php,因为这样的页面最像首页了,所以复制首页的模板来改

在pageforbabamama.php的头部加上一段代码:

[code lang="php"]
<?php
/*
Template Name: pageforbabamama
*/
?>
[/code]

注意,这段代码必须要有,虽然看起来像注释,但确实在声明模板名称,等下创建页面时要用到,很奇怪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–>来实现 无广告。

3、上传这个特殊页面的php文件到博客模板目录(/wp-content/themes/博客模板名称/)下

4、在管理后台创建特殊页面

模板有了,这时就可以创建页面了,在“撰写”里选择页面,在标题处写上特殊页面的名称,比如我的是“爸爸妈妈点这里”,永久链接设为babamama,然后“页面模板”选择刚刚创建的pageforbabamama。
(更新:上面的“修改五”有解决办法了,在创建page时,在内容框的html模式下输入:<!–noadsense–>即可实现此page页面没有广告,我把contact和aboutme都加了这句代码)

至此,这个为方便父母查看博客而建立的页面就做好了。

来源:http://blog.linggan.com/create-a-page-for-babamama.html