Wordpress 技巧: 如何在网站输出摘要而在Feed里输出全文?
最近看到 JooIT 在博客上探讨这样一个问题,如何在网站输出摘要而在 Feed 里输出全文。JooIT 给出的解决方案技术性较强,直接修改了 Wordpress 的源代码。另外,如果升级了 Wordpress,也不要忘记修改相应代码。这里我给出本站(总而言之,统而言之)所使用的解决方案。
本站(总而言之,统而言之)首页提供的是全文,但如果你按照分类或者月份查看的时候,以及查看搜索结果的时候,看到的只是文章摘要。一般情况下,输出摘要的目的,是为了给用户提供简洁的信息,以尽快浏览页面内容;当然,有时候还有另外一个目的,增加页面点击量。
在 Wordpress 里面,输出全文的函数是:
- <?php the_content('Continue Reading »'); ?>
输出摘要的函数是:
- <?php the_excerpt(); ?>
使用前面的输出全文的函数,遇到 more 标记就会自动截断网站和 Feed 里的文章。因此,本文提供的办法就是避免使用 more 标记,而在 Wordpress 编辑框里手动输入摘要:

这样的话,在你的网站上,遇到 the_content() 函数就是显示你文章的全文;遇到 the_excerpt() 函数就是显示你文章的摘要。而你的 Feed 里面,也不会再受到 more 的干扰。当然,前提是你不再使用 more 标记。
几个可能需要修改的文件有 index.php, search.php, archive.php, tag.php 等。当然,single.php 里面也调用了现实全文的函数,不过似乎没有人会需要修改这个地方。
这个办法与 JooIT 提供的办法相比,各有利弊吧。使用此办法可以减少文章中 more 标记,同时文章摘要也不一定是文章的前面一段或几段。你可以随意设置摘要怎么写,以吸引更多的网友点击阅读你的文章。此外,像 Live Writer 这样客户端都可以开始支持 Wordpress 的摘要功能了,我觉得还是很方便的。














恩。有时间测试一下!!
当用 the_excerpt() 函数显示文章时要注意一定要手工输入摘要,要不然的话WP自动截断,有时会出错,就像我那次一样,侧边栏跑到下面了,弄了好久才找出原因。
不应该啊,一般自动截断的话,所有的超文本代码都被过滤了阿
Jiang
你的Feeds好像有點問題。
This feed is mostly cloudy, with a chance of showers late.
(This publisher’s syndicated content was recently unavailable so FeedBurner cannot present it at this time.)
Feed Address: http://feeds.feedburner.com/jiangzhanyong
HTTP Error Code: 500
Detail: There was a problem retrieving the feed: java.net.SocketTimeoutException: connect timed out
奇怪,好像第二次遇到这个问题,我看看什么原因
呵呵,有个问题啊,我觉得是不是要判断一下,摘要是否为空啊。因为有的时候,全文很短,就直接输出全文了啊!就不输出什么摘要了。这样该怎么办呢?
to simon, 好想现在自己恢复了,估计不是本站原因,应该feedburner 的问题。
to yutang, 全文很短的时候,你不设置的话,会自动输出全文,但你不设置的话,输出的摘要是过滤了 html 代码的
唉!可怜的我,不懂PHP,不知道怎么样修改那些文件
还望总统大哥指点一二!
谢谢!
不知道K2的模版怎么修改,我找了半天,在那些文件里也找不到那些函数,够晕的!
K2 的修改应该说比较简单一些吧;不过我不喜欢 K2,把简单的问题复杂化,呵呵
to yeahlang, 要修改主题文件的话,用任何一个文本编辑器都可以打开。我个人比较喜欢 emeditor, 主要它打开文件速度快,支持编程语言多,而且他们还免费送我一个注册码,呵呵
用的也是emeditor,不过是XX的,呵呵~
问题是不知道要修改哪些文件,找遍了K2的文件也找不到那两个函数
另外,最郁闷的是,你用的是盘古的合租服务器移动线路,我用的也是盘古的合租服务器,移动线路,可是你的网站能打开,我的网站就打不开,重新载入N次也打不开!
可恶的铁通,郁闷至极!!!!!!!!
to yeahlang, 我估计也是因为k2主体太负责了;我选主题的时候考虑了很多因素,才选中这个主题~~
告诉你几个解决办法:
1. 搜索 the_content , 不要带后面 () ;
2. 用 emeditor 打开主题内所有文件,然后搜索;
3. 用 tc 定位到目录,使用 alt+F7 强大的搜索功能,呵呵。
k2\attachment.php
k2\page-comments.php(同上)
k2\page.php(同上)
k2\theloop.php
k2\app\modulesasides.php
搜索到这几个文件,该修改哪个文件呢?似乎是page.php,theloop.php,顺便试一下,看看coolcode插件在留言里是否起作用,呵呵~
晕,所有的代码全都被X掉了!
还是不会改,郁闷!
又十分喜欢你的这种显示的方式
直接拿插件就得了, 这样改也麻烦了点.wp还要升级呢
偶爱偶家兄,用哪个插件哦?
to yeahlang, 我没看过k2代码,不过我估计是 theloop.php 文件。
我倒觉得作者这种首页也提供全文的方式挺好的~~
我发现我一改theloop.php,把那个输出全文的函数改为输出摘要的函数,结果,整个blog无论哪里都是摘要,怎么会这样呢?
to yeahlang, 估计你的循环是将所有的内容都给控制了,不行的话自己添加 single.php 文件试试看;不过估计要你自己写 single.php 文件也是很费劲的 :( , 看看谁用 k2 主题吧~
想来想去还是放弃吧!
呵呵~
谢谢总统 :-)
呵呵,最好还是谁在使用k2主题,来说明一下~
唉!想来想去还得弄,很喜欢总统这种首页显示全文,其他地方显示摘要的方式,不喜欢那些插件弄的首页用Continue Reading….的字眼,而Feed输出全文什么的,对总统的方式情有独钟啊!!!就是不会改,郁闷郁闷郁闷!!!!
如果想要快点解决,可以联系 yskin.net 的站长,他可是 Wordpress 高手,和你用的主题也一样。
好的,谢谢总统,以前就是看他用的K2+trueblue,觉得简单明了,所以用了,结果,谁知道K2这么难搞,呵呵~
我觉得做起来很简单,加一个判断语句就可以实现了~
回头我看看~~
Wordpress 技巧: K2 主题如何实现分别输出全文和摘要…
不过,对于 yeahlang 网友而言,他的博客使用的 Wordpress 的 K2 主题。其实 K2 是个模板,你可以使用 K2 来订做各种不同的 Wordpress 主题样式。当然,那不是本文讨论的要点。问题在于,K2 模板(….
我想到的最完美的情况,默认显示全文,定制情况显示可选摘要,因为可选摘要是可以自由编辑的,不像More只在截取前半部分。
改成:
post_excerpt != ”) {
the_excerpt();
?> ” title=”Read more of ”>More… »
http://www.zoff.com.cn/blog/?p=53
本文的办法也是一样的阿,呵呵
博主,你好,我想请问下为什么我的RSS在Google Reader 以及在鲜果输出的时候完全失掉格式呢,但是在抓虾就可以实现有格式的输出,我已经设置了全文输出了。如果你知道是什么原因的话,麻烦帮我看下,非常感谢。