WordPress打造CMS教程(四):页面技巧
教程的前三讲已经详细讲述了如何去设计和制做一个Home页面给自己的WordPress系统,同时也提及了导航菜单,这样便已经把自己的Blog变成了一个具有CMS风格的系统了。但是其中还有很多页面展示细节值得我们去注意:
1. 页面标题title: 用过网页收藏的人都应该会发现在通过浏览器插件自动提交当面网页时,插件会自动把页面的title提交进去,也就是在你浏览器的左上角显示的title。这个其实在wp的header.php文件中定义的。在我们做过前三讲的修改之后,你会发现,在显示自己的blog的home页面时,title为home+blog标题等东西,而在显示blog页面时则直接为blog标题,这样是不是很难看。再看下我的Blog,你便发现很合情理。如下是Michael在研究过好久之后才调整好的代码(我自己用了一堆&& ||的嵌套,麻烦的很),修改header.php文件中的title部分:
- <title>
- <?php if (is_home()) : ?>Blog at <?php bloginfo('name'); ?>
- <?php elseif ((is_page() OR is_archive() OR is_category() OR is_single()) && !(is_page(960)) ) : ?> <?php wp_title(''); ?> at <?php bloginfo('name'); ?>
- <?php elseif(is_tag()): echo 'Tag Page for '; if(function_exists(UTW_ShowCurrentTagSet) UTW_ShowCurrentTagSet("tagsettextonly");
- echo ' at ';bloginfo('name'); ?>
- <?php elseif(is_404()): echo '找不到页面 at ';bloginfo('name'); ?>
- <?php else : ?><?php bloginfo('name'); ?>
- <?php endif; ?>
- </title>
同时此代码已经支持了UTW的Tag页面展示,标题为“Tag Page for Tag名称 at blog标题”的格式,如果你没有使用UTW插件,请把包含UTW_ShowCurrentTagSet()这行删除就行了。
2. Home页面显示评论数目:如果你和我一样在Home页面加入了日志标题或者内容展示,同时还调用了显示评论comments数量的函数,可能你会发现竟然不显示出Comments的数量来。这个时候需要修改WP的原文件进行Hack了,方法如下:
修改wp安装目录中的wp-includes/comment-template.php文件,从下向上大概在320行处找到
- if ( is_single() || is_page() )
- return;
- $number = get_comments_number($id);
把其中的is_single () || is_page()替换成is_single(),如此便可以在page也就是Home页面的时候显示出评论的数目和链接了。
3. 首面摘要字数:如果你是在首页Home中显示了最新几篇日志的标题和摘要时,可能发现WP自身带的摘要语句只是把HTML格式和图片等内容去掉变成了纯文本而已,而并不是真正减少了内容的摘要,所以这个时候你的做法可能是在写每篇日志的时候去自定义一下摘要,但这样做想法麻烦。这个时候桑林志的中文 WordPress 工具箱插件便能很好的解决这个问题了。只需要修改插件文件mullberrykit.php中最后那个函数而已:
- function mul_excerpt ($excerpt) {
- $myexcerpt = substr($excerpt,0,250);
- return utf8_trim($myexcerpt) . '... ';
- }
其中的250便是自己定义的摘要字数了,可以修改成你需要的数值。
4. 搜索框:如果你是使用WP自带的搜索功能,可能模板文件把这个函数加在了sidebar.php中,这样当你在不显示侧栏sidebar的页面时,便失去了搜索功能,我的做法是加到header.php中去,然后自己定义位置,如此便在任何blog页面都可以显示出来Search搜索框了。这个仅是提示而已,代码就不必重述了。
5. 推荐日志:这个推荐日志的功能其实是利用了一个叫做Articles的插件,在编写日志时,只需要加入相应的关键字即可,加入函数做成页面后便会按分类展示出推荐日志的列表来。详细用法请参考插件说明文件。当然如果你愿意自己写HTML代码来做文章推荐也是可以的~~
6. 热门日志:这个功能使用了WP-PostViews的页面访问次数统计插件,我在调用时修改了原函数,即不让它显示出阅读次数来,如果你在自己修改时遇到问题,请在回复中提出,但如果你前面教程全做到了却连这个都搞不定,那也太夸张了,所以不再细述。
如此WordPress打造CMS全部四个教程已经详细阐述完毕,如果你也想自己修改WP成为为CMS系统的话,相信这些内容应该可以帮助你完成,同时其中如制做Menu导航菜单或者修改页面标题title等方法都是值得参考的。
如果在修改过程中遇到问题,可以在回复或者通过Contact和我联系,我会及时答复。同时如果发现教程中有错误或者遗漏的地方,麻烦请指出,不胜感激。
update: Michael在回复中给出了判断语句来使用UTW,正文已经更新。
update2: puNk!d在回复中指出WP2.1已经完善了the_excerpt函数,所以无需再使用插件来做截断。




如果没有装 utw 可以把 UTW_ShowCurrentTagSet() 改成 if(function_exist(UTW_ShowCurrentTagSet) UTW_ShowCurrentTagSet();
这样如果哪天装上了 utw 不用做修改就可以直接显示名称。
[Reply]
哦对不起,是 exists 不是 exist
[Reply]
嗯,去更新一下~~
[Reply]
Very good blog, I enjoy very much, and thank your Hallelujah
[Reply]
实际上WP的the_excerpt已经能做出不错的截取了,我曾经在PP的首页日志显示上用的就是the_excerpt函数自动生成摘要。
[Reply]
谢谢提醒,已经修正
[Reply]
看不懂啊
[Reply]
捡看得懂的~~
[Reply]
2.1已经实现了截断是不是就不用中文工具箱了?
[Reply]
对。
[Reply]
[…] 原文地址:http://e-spacy.com/blog/1050.html […]
[Reply]
我的CMS计划(一)…
目前的情况:
1.把WordPress从根目录移动了blog目录里,根目录只保留了两个WP需要的文件:index.php和.htaccess,其中index.php还需要修改一个路径。
2.首页现在暂时就放着吧,在k2模板的single.php和thelo…
[Reply]
终于让我找一篇傻瓜式的教程了,不必自己去浪费脑细胞,照做就OK啦。!!!!!!
[Reply]
传奇世界qyccc
[Reply]
[…] WordPress打造CMS教程(一):方案设计 WordPress打造CMS教程(一):方案设计(续) WordPress打造CMS教程(二):首页模板 WordPress打造CMS教程(三):导航菜单 WordPress打造CMS教程(四):页面技巧 […]
[Reply]