在WordPress首页显示摘要的几个技巧

林继 WordPress 3,102 共写了1459个字 (2011-01-15 0:23:19) 没有评论 打印 扫描二维码 百度未收录

首页、存档页显示文章摘要的好处很多,比如:
1,页面不会拉的很长,既美观,又有利于访客快速找到所需的文章
2,减少搜索引擎认为的重复内容
3,浏览者想看到全文就得点击进入单个文章页,因此增加了点击量 -.-
4,首页、存档页数据量少了,节约了流量和带宽,提高了页面打开速度
在不使用任何hack和plugin的情况下,有两种方式可以实现:
1.使用the_excerpt标签
使用方法:
打开你使用的theme中的index.php,查找

  1. <?php the_content(__((more…))); ?>
  2. <?php the_content(); ?>
  3. 修改为
  4. <?php if(!is_single()) {
  5. the_excerpt();
  6. } else {
  7. the_content(__((more…)));
  8. } ?>

保存
现在你的wordpress,除非打开单个post,其他情况下都是显示摘要。
Tips:在写一篇post的时候,如果你在Optional Excerpt中填写了内容,摘要就显示此部分内容。其他情况下,wordpress都会自动截取Post开头的部分内容显示出来。
缺点:可能导致部分plugin失效;文中链接不会在摘要中显示。
2.使用more标签

  1. 在写日志时插入<!–more–>标签,这样在首页、存档页显示的就只是<!–more–>之前的内容(缺点:每次都要加一下这个东西,不灵活只能一刀切。优点:方法比较正规不需要改动模版)
  2. 这种做法缺点太明显:
  3. 1,rss输出也变成了只有<!–more–>之前的内容。实际上,这一缺点可以通过改代码、装插件等办法克服,但另一个缺点则无法克服:
  4. 2,如果你之前已经写了数百篇文章,难道还要一个个修改,重新加上<!–more–>标签吗?

上述的方法都有很大的这样或那样的不足。 如果你不喜欢 WordPress 博客的首页拖得太长,嫌它速度既慢又影响美观,那么你需要一个摘要插件。据我所知,现在的 WordPress 摘要插件要么对中文支持得不好,容易出现乱码;要么把原文所有的格式都去掉,只剩光秃秃的文字,基本上很能满足用户的要求。
在这里,Tanly 为大家推荐一款适合中文的wordpress摘要插件——wp-utf8-excerpt
此插件的优点:
1,适合中文,不会出现截取半个汉字导致乱码的现象。
2,摘要保留原文的 html 标签,保留原文的格式,颜色、字体、超链接、图片等等都保留。
3,在首页每篇文章显示300个字,在存档页、目录页每篇文章显示150个字。因为我认为首页应该多提供一点信息量,让读者多看些内容,从而决定是否要点进去;至于存档页,主要是供快速查找之用,不宜拖得太长,标题加上150字已经足够判断文章内容了。
具体使用方法:
下载后解压缩到 wp-content/plugins 目录下,激活插件即可。
如果发现没有效果,说明你的主题不支持,可以按以下的方式进行修改:
修改主题的模板文件,打开FTP,找到所在blog主题下的index.Php文件(/www/wp-content/themes/主题名/),在 index.php 里找到

  1. <?php the_content(); ?>
  2. 改成
  3. <?php
  4. if (is_single() or is_page())
  5. {the_content();}
  6. else
  7. {the_excerpt();}
  8. ?>

这样改的作用是加一个判断,如果是单篇日志页或静态页面,则输出全文,否则输出摘要。
修改保存之后,进入你的blog 那些文章就会以摘要的形式显示了。当然你也可以进blog后台对插件进行具体的设置,可以修改文章摘要的长度,还有存档的长度,很简单的。zzlon在这里就不啰嗦了。
wp-utf8-excerpt下载地址: http://wordpress.org/extend/plugins/wp-utf8-excerpt/

PS:另外一个重要的标记the_excerpt(缺点:需要改动模版,而且显示的是纯文本。优点:一劳永逸直接把想要的部分来做摘要):

  1. 找到wp主题文件夹中的index.php文件,对里边的<?php the_content(); ?>部分进行调整:
  2. <?php if (has_excerpt())
  3. { ?>
  4. <?php the_excerpt() ?>
  5. <a href=”<?php the_permalink(); ?>”>阅读全文…</a>
  6. <?php
  7. }
  8. else{
  9. the_content(‘Read the rest of this entry &raquo;);
  10. }
  11. ?>

注意,代码部分都要使用英文字符,如有中文字符,请修正。
看看,是不是首页清爽很多。
这段代码的意思是:首先判断是否有摘要部分,如果有则显示摘要;如果没有,则显示全部内容。
the_excerpt()表示显示摘要
the_content()表示显示全部内容
the_permalink()表示该博文的超链接

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

< >