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

转载自大宝日记,原文地址http://www.sundabao.com/%E5%A6%82%E4%BD%95%E6%9B%B4%E6%94%B9wordpress%E9%A6%96%E9%A1%B5%E6%96%87%E7%AB%A0%E6%91%98%E8%A6%81%E5%AD%97%E6%95%B0/

有些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()函数中用到了

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

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

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

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

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

1
2
3
4
5
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
posted @ 2014-08-11 22:10  小地球  阅读(2465)  评论(0编辑  收藏  举报