冠富商务通中文社区

 找回密码
 立即注册
查看: 8|回复: 0
打印 上一主题 下一主题
收起左侧

[建站经验] 【wordpress显示摘要】-wordpress首页显示摘要的几种方法小结

[复制链接]
跳转到指定楼层
楼主
发表于 2017-10-29 03:37:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
more标签
这种方法应该是最灵活的一种方法,操作也很简单,只需要你在编辑文章的时候插入more标签

或者使用快捷键alt+shift+t,效果如下

那么如果你在主题的首页模板中调用the_content函数,首页的文章摘要就显示more之前的内容。相反,如果没有插入more标签,就会显示全文。
手动输入摘要
在首页模板中(比如home.php或index.php)中调用the_excerpt函数显示摘要,如果你在编辑文章的时候,在下面的摘要内输入了内容,则会显示该摘要里的内容

首页、存档页显示文章摘要的好处很多,比如:
1,页面不会拉的很长,既美观,又有利于访客快速找到所需的文章
2,减少搜索引擎认为的重复内容
3,浏览者想看到全文就得点击进入单个文章页,因此增加了点击量 -.-
4,首页、存档页数据量少了,节约了流量和带宽,提高了页面打开速度

RSS 输出全文的好处只用讲一条:作为读者,我订阅feed的时候很讨厌那种只输出摘要的

但是,wordpress默认的是显示全文,不但第一页显示全文,点下一页,进入第二页、第三页、乃至无穷页,也都显示全文。那么如何解决这一问题呢?网上流传着很多方法:

一、在写日志时插入!more标签,这样在首页、存档页显示的就只是!more之前的内容。
这种做法缺点太明显:
1,rss输出也变成了只有!more之前的内容。实际上,这一缺点可以通过改代码、装插件等办法克服,但另一个缺点则无法克服:
2,如果你之前已经写了数百篇文章,难道还要一个个修改,重新加上!more标签吗?

二、修改主题的模板文件,在 index.php 里找到

复制代码代码如下:
?php the_content(); ?

改成

复制代码代码如下:
?php
if (is_single() or is_page())
{the_content();}
else
{the_excerpt();}
?

这样改的作用是加一个判断,如果是单篇日志页或静态页面,则输出全文,否则输出摘要。看上去很美,但wordpress默认的摘要输出算法是根据西文来的,以空格判断字数,而中文里基本没空格,所以它算完了之后输出的摘要其实还是全文因此,对中文博客而言,此法必须和其他办法协同使用。
三、写日志时自定义摘要。在写日志界面有一个自定义摘要字段,把自己想显示为摘要的话输入进去即可。
这种办法优点非常突出:不像其他办法都只能把文章开头的若干字显示为摘要,这种方法的摘要内容非常灵活,可完全自定义。
但缺点也很突出:和第一种办法一样,以前的文章都要一个个手工改,工程过于浩大。
四、修改 WordPress 自带的摘要函数
根据http://www.fwolf.com/blog/post/102(这篇文章网上转载很多,我个人判断认为这里是原始出处,可叹很多转载的在搜索引擎中排名倒更靠前)
修改wordpress的源文件,对一般用户来说恐怕有点难度,而且如果升级wordpress还得重新修改,维护不方便。不过最新发现原作者把它写成了一个插件,所以都放在下面插件里面一起讲吧。
五、使用插件,主要仍是修改wordpress自带的摘要函数。不过wordpres默认的情况是存档页(按分类、标签和时间存的档)用摘要输出,主页及主页上点进去的第二页、第三页等等用全文输出,因此即使用了插件,想要首页显示摘要的话,仍要用第二种方法修改一下主题的模板文件才行。
下面分析一下我知道的几个插件的算法:
1,Fwolf的 http://www.fwolf.com/blog/post/296
和wp自带的几乎一样,只不过把按空格判断改成了按段落判断,会输出文章的前三段作为摘要。因为是按段落输出,也不会出现中文乱码。
2,桑葚的中文工具箱 http://yanfeng.org/blog/wordpress/kit/
用substr()函数截取前256个字节,再用utf8_trim()函数处理,保证中文不会出现乱码。
<p>3,Yskin的 http://yskin.net/2006/07/mulberrykit.html
我原来推荐过这个,觉得很完美,但后来觉得我个人还是有些定制化的要求,决定自己动手改一改,因此才有了这篇文章 -.-
Yskin的是段落和字数混合判断,先根据回车把文章分割成n段,然后用mb_strlen()判断字数,如果没超过规定的字数,就再输出一段。因此他的最小输出单位仍然是段落。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|关于我们|申请友链|Archiver|手机版|拘留所|冠富商务通

GMT+8, 2026-3-28 23:05 , Processed in 0.592034 second(s), 16 queries , Wincache On.

Powered by HCMS Version 2.0

© 2008-05-14 guanfu.net.cn

快速回复 返回顶部 返回列表