WordPress默认的Excerpt(摘要)排版格局有些不尽人意,首先它默认的摘要输出字数是55,不支持HTML标签,也就是输出的内容不会换行,都是一年夜长段;别的JavaScript也无法被剥离出来。严重影响版面的美不雅性,除非是手动录入摘要内容。
我们要做的就是让自动提取的Excerpt(摘要)内容(非手动输入),显示自定义的排版格局。实现体例如下:
WordPress默认摘录的功能是在wp-includes/formatting.php这个文件里,我们要修改的只有主题functions.php文件,请把下面的代码插手到functions.php文件中
remove_filter('get_the_excerpt', 'wp_trim_excerpt');add_filter('get_the_excerpt', 'improved_trim_excerpt');function improved_trim_excerpt($text) { global $post; if ( '' == $text ) { $text = get_the_content(''); $text = apply_filters('the_content', $text); $text = str_replace(']]>', ']]>', $text); $text = preg_replace('@<script[^>]*?>.*?</script>@si', '', $text); $text = strip_tags($text, '<p>'); $excerpt_length = 80; $words = explode(' ', $text, $excerpt_length + 1); if (count($words)> $excerpt_length) { array_pop($words); array_push($words, '[...]'); $text = implode(' ', $words); } } return $text;}
这段代码中是将wp-includes/formatting.php里的
wp_trim_excerpt()
改成了
improved_trim_excerpt()
修改摘要内容输出的字数
$excerpt_length = 80;
让摘要内容支持HTML标签
$text = strip_tags($text, '<p>');
如果想插手更多的HTML标签,请在"<p>"的后面紧随着插手。
删除不需要的JavaScript代码
$text = preg_replace('@<script[^>]*?>.*?</script>@si', '', $text);