WORDPRESS缩列图失真变形模糊的解决方案
本文摘要: 大家都知道,网站最怕改版,其中一个主要的原因就是缩列图的问题,旧模板的缩列图尺寸不一定适合新版的模板缩列图尺寸要求,尽管后台的设置-多媒体系统-缩列图尺寸修改了,可这是新上传的图片才会生成新的尺寸的缩列图,建站网想了很多办法,也从郑力大神那
大家都知道,网站最怕改版,其中一个主要的原因就是缩列图的问题,旧模板的缩列图尺寸不一定适合新版的模板缩列图尺寸要求,尽管后台的设置-多媒体系统-缩列图尺寸修改了,可这是新上传的图片才会生成新的尺寸的缩列图,建站网想了很多办法,也从郑力大神那看到用ps加数据库查询批量的方法,可是建站网里图片太多,缩列图尺寸也复杂不一,曾经还做过中文文件夹名称md5转换,用ps家数据库查询批量的方法实在是复杂和累人!如何才能快速又方便的解决wordpress缩列图尺寸重新裁剪的问题呢?从奶嘴那了解到谷歌的timthumb很好用,建站网就百度了下,确实找到相关的文献,通过摸索,现在通过timthumb就能够自由的给缩列图裁剪自己设定的缩列图,可以说一个文章的缩列图可以几个缩列图的尺寸,做到全站所有要展现缩列图的地方的尺寸都是最清晰的!下面我们来看教程:


 $timthumb_src = wp_get_attachment_image_src(get_post_thumbnail_id($post- ID), full );
 $post_timthumb =  img src= .( template_url ). /timthumb.php?src= .$timthumb_src[0]. amp;h= .$height. amp;w= .$width. amp;zc=1  echo $post_timthumb;
 $output = preg_match( / img.+src=[\ ]([^\ ]+)[\ ].* /i ,$post- post_content, $index_matches); //获取日志中第一张图片
 $first_img_pic = ( wpurl ). /cache/ .$first_img_name; //文件所在城市址
 if ( !is_file($first_img_file) || (time() -filemtime($first_img_file))  $expired ){
 $post_timthumb =  img src= .( template_url ). /timthumb.php?src= .$first_img_pic. amp;h= .$height. amp;w= .$width. amp;zc=1  } else { //如果日志中没有图片,则显示默认
 $post_timthumb =  img src= .( template_url ). /images/default_thumb.gif  }
将上面的代码放进WP的主题模板文件夹名称functions.php内,然后下载timthumb.php 文件放到主题网站根目录下!然后通过:

a href= ?php echo get_permalink(); ?  title= ?php the_title(); ? ?php post_thumbnail(243,182); ? /a
其中243代表宽,182代表高,你们在使用的时候换成你们的尺寸即可!然后我们还要给网站网站根目录下创建cache目录,并给予777权限,这样就能够自动式调用裁剪好的缩列图了,而这些缩列图也就都存在了cache文件夹名称里,使用起来很方便!

这个时候有人会问,那系统自带的生成缩列图的功能这么办?每次上传照片,系统都会生成几个尺寸的缩列图,有了timthumb还需要系统自带的缩列图生成功能吗?建站网的回答是:随便你!WP批量删除全部文章缩列图的方法是在functions.php内加入以下代码:


执行前要考虑好哈,别怪小2没提醒,一删除就全部没了,并且以后也不想生成缩列图的话,这个代码就放文件里好了,如果以后还想生成新的缩列图的话,使用一次后就要把这代码删除了。。。别那时候就悲剧了!