如何更改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

广告


转载请注明出处,本文地址: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/

JackSun

JackSun

I'm a coder.

You may also like...

14 Responses

  1. happy两个B says:

    不错,受用了

  2. 疯狂程序员 says:

    多谢楼主分享

  3. 月光 says:

    管用

  4. iLiDong says:

    原来是要安装php mb_string扩展?

  5. JackSun 孙大宝 says:

    安装mb_string 支持中文自符串截取

  6. momo says:

    黄字打错了。是皇

  7. 好东西 谢谢分享

  8. 我是完全的新手,请问怎样在主题中打开functions.php?

  9. JackSun 孙大宝 says:

    在后台主题编辑中可以找到

  10. 好久没来了,过来踩踩

  11. [ali郁闷] 新手学习了~~

Leave a Reply

Your email address will not be published.