WordPress修改默认摘要函数the_excerpt()长度

今天帮朋友修改wordpress主题,提出了一个需求,想要把首页文章默认输出的摘要长度增长一些,研究了好一会儿才最终研究出结果:

首页的文章是用the_excerpt()函数直接输出post的摘要内容的,最恶心的是这个函数没有入参,the_excerpt()的输出长度是确定的55字符,经过研究,有两种方案在wordpress中修改默认摘要函数the_excerpt()的输出长度,分别给大家分享下。

方法一:修改wordpress文件,直接把函数的输出长度改为需要的长度。

这个方法改起来很简单,找到wp-includes下的formatting.php文件,查找function wp_trim_excerpt($text)函数,找到excerpt_length,把相对应的55修改成自己喜欢的数值即可。

这个方法的优点是修改简单,但是缺点也很明显,侵入了wordpress的文件,一旦博客升级这个方法就会失效。

方法二:自定义一个函数替代the_excerpt()

在主题的functions.php,写入如下的代码

1
2
3
4
5
6
function chinese_excerpt($text, $lenth=100)
{
$text = mb_substr($text,0, $lenth);
return $text;
}
add_filter('the_excerpt', 'chinese_excerpt');

可以根据你的需要把$lenth改成你需要的长度即可。这个方法只是用自己写的函数替换掉了the_excerpt(),优点很明显,完全不侵入wordpress的文件,只要你使用这个主题就可以了。