转载自大宝日记,原文地址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/php
有些WordPress主题首页摘要字数太多,有的甚至把所有文字展现出来,看着很不爽,因而搜了一下如何更改,果真让我搜到了,哈哈,真是黄天不负有心人。nginx
方法一:修改WordPress文件。
优势:操做简单。
缺点:博客升级后会失效,需从新修改。web
找到WorsPress目录wp-includes下formating.php文件,查找unction wp_trim_excerpt($text)函数,再找到excerpt_length,默认值是55,修改为须要的值便可。apache
方法二:自定义函数,修改主题function.php文件。(楼主推荐)
优势:一劳永逸。
缺点:换主题后须要从新设置。服务器
The_excerpt()在Wordpress中,默认是截取55个英文单词的,可是在中文中倒是没法截取到55个汉字。缘由是由于在wordpress的the_excerpt()函数中用到了wordpress
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设定为任意的截取长度。spa
或者直接使用中文截取法,加入以下代码rest
1
2
3
4
5
|
function
custom_excerpt_length(
$length
) {
return
200;
}
add_filter(
'excerpt_length'
,
'custom_excerpt_length'
, 999 );
200为字数,能够修改成本身的值。
|
须要安装服务器打开php mb_string扩展。
一、安装php-mbstrin扩展,终端执行。code
sudo yum install php-mbstring。
二、切换root用户。
sudo -s
三、修改php.ini,终端执行。
echo 'extension=mbstring.so' >>/etc/php.ini
四、重启web服务器。
apache:
sudo service httpd restart
nginx:
sudo service nginx reload