如何更改WordPress首页文章摘要字数

dadao Wordpress 309 次浏览 没有评论

有些WordPress主题首页摘要字数过短或太多,对于刚接触wordpress的用户来说,修改起来有点难度,刚好也碰到这个问题,发现网上这个解决办法,发出来以供参考:

方法一:修改WordPress文件。

优点:操作简单。
缺点:博客升级后会失效,需重新修改。

找到WorsPress目录wp-includes下formating.php文件,查找unction wp_trim_excerpt($text)函数,再找到excerpt_length,默认值是55,修改成需要的值即可。

方法二:自定义函数,修改主题function.php文件。

(楼主推荐)
优点:一劳永逸。
缺点:换主题后需要重新设置。

The_excerpt()在Wordpress中,默认是截取55个英文单词的,但是在中文中却是无法截取到55个汉字。原因是因为在wordpress的the_excerpt()函数中用到了

$text = implode(' ', $words);

在php中是用空格来截取字数的,而我们汉字就杯具了,因为我们汉字是相连的,没有空格来区分,所以在使用中文的时候,经常地我们使用the_excerpt()函数的时候,截取出来的结果是全文!
对于这个情况我们可以用PHP函数mb_substr去解决。
所以在Wordpress中可以打开主题中的funtions.php,加入下面的代码:

function chinese_excerpt($text, $lenth=100) {
    $text = mb_substr($text,0, $lenth);
    return $text;
}
add_filter('the_excerpt', ' chinese_excerpt ');

我这里设置默认的截取长度是100个字符,50个汉字。可以在上面的代码中的$lenth=100设定为任意的截取长度。

或者直接使用中文截取法,加入如下代码

function custom_excerpt_length( $length ) {
    return 200;
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
200为字数,可以修改为自己的值。

需要安装服务器打开php mb_string扩展。

注:如果拥有服务器权限可以按以下方法操作!!!

1、安装php-mbstrin扩展,终端执行。

sudo yum install php-mbstring。

2、切换root用户。

sudo -s

3、修改php.ini,终端执行。

echo 'extension=mbstring.so' >>/etc/php.ini 

4、重启web服务器。
apache:

sudo service httpd restart

nginx:

sudo service nginx reload

发表评论

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

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

Go