最近下载了WPYOU的一款主题,主题可以实现在首页自动截取文章前290个字符作为文章摘要,使用中发现,这样并不是很好,例如我有一篇图片文章,第一段是介绍文字,后面是一张图片搭配一个图片标题的形式。 那么如果第一段文字长度没有达到290个字符,也就是145个中文字的话,首页上就会把后面的图片标题一起给截取出来,那样让人看起来实在是有摸不着头脑啊……
新版本的WP已经自带了自定义摘要功能,何不让WP能够自动判断,如果自定义了摘要就显示自定义摘要,没有自定义的话,就截取文章前290个字符呢?带着这个想法去WPYOU论坛询问,结果管理员说:“改这个很复杂的,可以去WP的的官方找找相关函数”,可是凭我对WP的一点小了解,这个应该不是什么难事情。于是搜索了一下WP相关API,实现了我要的效果。
方法如下:
主题中的首页显示摘要原始代码:
- <?php echo mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 290,"...");?>
修改以后的代码:
- <?php if (has_excerpt())
- { ?>
- <?php the_excerpt() ?>
- <?php
- }
- else{
- echo mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 290,"...");
- }
- ?>