WordPress 文章摘要介绍和使用优化
今天和大家详细介绍一下 WordPress 文章摘要,从名字我们就可以知道,文章摘要就是文章的摘要,有点废话,总之通过它便知这篇文章主要讲什么。
一般来说,大部分 WordPress 主题在首页,分类搜索等各种列表页,都会只显示文章摘要,而不显示文章内容全文,所以摘要很重要,在列表页,用户是否会点击查看这篇文章,摘要会起到很重要的效果。
怎么设置文章摘要
在使用经典编辑器的年代,摘要是非常容易设置的,就在文章内容的下面,很多人写完文章,顺手也设置了文章摘要:
但是升级到古腾堡编辑器之后,很多人就发现不知道去哪里设置摘要了,摘要设置文本框被移到编辑器右侧文章设置的很下面,很多人没有认真去翻以为没了。
甚至有些人因为这个原因,从来没有去设置过文章摘要,也有人因为这个原因坚持在用经典编辑器。
WPJAM Basic 插件支持一键屏蔽古腾堡编辑器,此外 WPJAM Basic 还提供一个扩展「摘要快速编辑」,让你可以在文章列表快速设置文章摘要:
使用文章摘要
WordPress 提供了两个文章摘要的模板函数:
get_the_excerpt( $post = null )
函数获取文章的摘要,它只有一个参数,就是$post
,可以是文章对象,或者文章 ID, 也可以不传,不传则获取当前文章的摘要。the_excerpt()
这个函数没有任何参数,直接输出当前文章的摘要。所以模板开发很简单,直接在文章列表页使用该模板函数即可。
自动获取文章摘要
由于种种原因,并不是每篇文章都设置了摘要,这个时候,WordPress 默认是会做一些处理的,简单描述一下:
WordPress 默认会使用 wp_trim_excerpt
去获取文章内容,加上摘要长度传递给 wp_trim_words
函数处理, wp_trim_words
会基于用户所处的环境:
- 单词之间没有空格的,比如中日韩环境,它就按照中文字符和英文字符都算一个字符来截取。
- 单词之间有空格的,比如英文或等环境,它就按照空格或者回车来获取单词数组,截取输入长度的单词数。
这种算法对于中文来说,非常不好,因为一个中文字符,宽度基本上是一个英文字符的两倍,如果文章中的中英文混排的话,截取出来肯定会长度不一。
所以对于中文环境,最好按照「中文 2 个字节,英文 1 个字节」的方式来截取,所以最佳的方法是使用 mb_strimwidth
函数来截取,它完全符合「中文 2 个字节,英文 1 个字节」的算法:
mb_strimwidth($text, 0, 240, '...', 'utf-8');
为了方便大家的设置,我在 WPJAM Basic 集成了自动获取文章摘要的设置,无需修改任何代码,简单选择设置一下即可:
如上图所示,点击「WPJAM」菜单下「文章设置」子菜单下之后可以看到,当文章未设置摘要时候,默认还是 WordPress 默认的方式,然后 WPJAM Basic 插件增加了两个选项:
- 第一个很简单直接:直接不显示摘要。
- 第二个选项就是前面介绍的算法,按照中文最优方式截取,并且还可以设置文章摘要的长度。
再次提醒一下注意算法是「中文 2 个字节,英文 1 个字节」,设置长度的时候要注意下。
关于 WordPress 摘要就介绍那么多,还是那句话,文章摘要设置的好,结合一些 SEO 插件,比如 WPJAM Basic 的「简单SEO」扩展,摘要也可以设置成 meta description,搜索引擎收录内容之后,在搜索结果页面显示的内容也是文章的摘要。