当前位置:爱推吧 » WordPress技巧 » 用the_excerpt处理中文文章字数限制的方法

用the_excerpt处理中文文章字数限制的方法

wordpress处理the_excerpt的代码,你可以在wp-includes目录下的formatting.php中找到,通过代码,你可发现the_excerpt是用空格来计算长度的,这对英文是可以的,但是对中文,基本上不可行。

formatting.php中的代码如下:

function wp_trim_excerpt($text = '') {
	$raw_excerpt = $text;
	if ( '' == $text ) {
		$text = get_the_content('');

		$text = strip_shortcodes( $text );

		$text = apply_filters('the_content', $text);
		$text = str_replace(']]>', ']]>', $text);
		$excerpt_length = apply_filters('excerpt_length', 55);
		$excerpt_more = apply_filters('excerpt_more', ' ' . '[...]');
		$text = wp_trim_words( $text, $excerpt_length, $excerpt_more );
	}
	return apply_filters('wp_trim_excerpt', $text, $raw_excerpt);
}

中文文章的长度问题就是出在$test = implode(‘ ‘, $words);

解决方式

在您自己主题下面的functions.php文件中添加如下代码就可以解决了

function excerpt_read_more_link($output) {
 global $post;
 $output = mb_substr($output,0, 200);
 return $output . '<span><a href="'. get_permalink($post->ID).'">阅读全文...</a></span>';
 }
add_filter('the_excerpt', 'excerpt_read_more_link');

快看看您的文章吧,效果还不错吧。

2 个吐槽 on “用the_excerpt处理中文文章字数限制的方法”

发表评论

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