网上很多关于wordpress自定义摘要的代码,大多都是如下这段:
function mts_excerpt($limit) {
$excerpt = explode(‘ ‘, get_the_excerpt(), $limit);
if (count($excerpt)>=$limit) {
array_pop($excerpt);
$excerpt = implode(” “,$excerpt);
} else {
$excerpt = implode(” “,$excerpt);
}
$excerpt = preg_replace(‘`[[^]]*]`’,”,$excerpt);
return $excerpt;
}
经过尝试发现这段代码使用场景比较适合英文文章,因为英文使用的空格分隔单词,并不适合中文文章,中文文章并不需要空格间隔2个字。
于是自己写了个适合中文场景的代码,欢迎参考:
//codebye 原创 转载请注明出处链接
function mts_excerpt($limit) {
$excerpt = get_the_excerpt();
$excerpt = preg_replace(‘`[[^]]*]`’,”,$excerpt);
if(mb_strwidth($excerpt)>$limit)
{
$excerpt=mb_strimwidth($excerpt,0,$limit,’ …’);
}
return $excerpt;
}
调用方式,在输出摘要的地方加入 <?php echo mts_excerpt(260);?>