让WordPress的摘要显示自定义排版格式

WordPress默认的Excerpt排版格式有些不尽人意,首先它默认的输出字数是55,不支持HTML标签,也就是输出的内容不会换行,都是一大长段 此外JavaScript也无法被剥离出来。严重影响版面的美观性,除非是手动录入内容。

我们要做的就是让自动提取的Excerpt内容非手动输入,显示自定义的排版格式。实现方法如下

WordPress默认摘录的功能是在wpincludesformatting这个文件里,我们要修改的只有主题functions文件,请把下面的代码加入到functions文件中

  1. remove_filter'get_the_excerpt','wp_trim_excerpt';
  2. add_filter'get_the_excerpt','improved_trim_excerpt';
  3. functionimproved_trim_excerpt$text{
  4. global$post;
  5. if''==$text{
  6. $text=get_the_content'';
  7. $text=apply_filters'the_content',$text;
  8. $text=str_replace'\]\]\',']]',$text;
  9. $text=preg_replace'@script[^] ?. ?script@si','',$text;
  10. $text=strip_tags$text,'';
  11. $excerpt_length=80;
  12. $words=explode'',$text,$excerpt_length+1;
  13. ifcount$words$excerpt_length{
  14. array_pop$words;
  15. array_push$words,'[...]';
  16. $text=implode'',$words;
  17. } //phpfensi.com
  18. }
  19. return$text;
  20. }

这段代码中是将wpincludesformatting里的

wp_trim_excerpt

改为了

improved_trim_excerpt

修改内容输出的字数

$excerpt_length=80;

让内容支持HTML标签

$text=strip_tags$text,'';

如果想加入更多的HTML标签,请在的后面紧随着加入。

删除不需要的JavaScript代码

$text=preg_replace'@script[^] ?. ?script@si','',$text;