WordPress主题首页自动提取文章第一张图片并设为缩略图

2017-04-26 00:37 阅读 182 次 评论 0 条

其实这个需求在很多作者写主题模板时为了美观或者方便使用,都会将这个功能加上的。但很遗憾, 手中的其中一个主题“Fabulous” 并不支持 自动提取文章图片作为缩略图的功能。而且最郁闷的是,这个主题是“图片类主题”,每个文章必须要手动设置“特色图像”才会在首页显示正确的缩略图。

要解决这问题,经搜索大致都差不多,而且代码一样,每个文章底部都差不多有这样的提示“版权所有,严禁采集转载。”这解决代码每个人的都一样的,但都有版权,在这里就不转载了,自己敲吧。
解决办法:
1. 找到主题的function.php,加入以下代码:

function catch_that_image() { global $post, $posts; $first_img = ''; ob_start(); ob_end_clean(); $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);   //获取文章中第一张图片的路径并输出 $first_img = $matches [1] [0];   //如果文章无图片,获取自定义图片 if(empty($first_img)){ //Defines a default image $first_img = "/images/default.jpg";   //请自行设置一张default.jpg图片 }   return $first_img; }


2. 找到主题中首页要显示图片的代码,用以下代码输出 图片地址:

<?php echo catch_that_image() ?>

本主题的修改位置是:content.php,找到 loop-entry-thumbnail,修改img src就可以,具体如图:
我这里修改的是:把“wpex_get_featured_img_url() ;”改成:“echo wpex_get_featured_img_url()? wpex_get_featured_img_url() : catch_that_image( ); ”,原因是原本主题就会 获取已经设置了 特色图像的文章的缩略图URL,这里只需要做个判断,把获取不到 特色图像URL的文章 自动提取第一张图片地址即可。

转自:草根小驿站

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:WordPress主题首页自动提取文章第一张图片并设为缩略图 | 博客导航目录
分类:WordPress 标签:,

发表评论


表情