php 缩略图 失真,WORDPRESS缩略图失真变形模糊的解决方法

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

ac53325f8b09faa6baeafe60a7aece65.png

01

02

function post_thumbnail( $width = 100,$height = 80 ){

03

global $post;

04

if( has_post_thumbnail() ){    //如果有缩略图,则显示缩略图

05

$timthumb_src = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID),'full');

06

$post_timthumb = ''.get_bloginfo(

07

} else {

08

$post_timthumb = '';

09

ob_start();

10

ob_end_clean();

11

$output = preg_match('//i',$post->post_content, $index_matches);    //获取日志中第一张图片  

12

$first_img_src = $index_matches [1];    //获取该图片 src

13

if( !empty($first_img_src) ){    //如果日志中有图片

14

$path_parts = pathinfo($first_img_src);    //获取图片 src 信息

15

$first_img_name = $path_parts["basename"];    //获取图片名

16

$first_img_pic = get_bloginfo('wpurl').'/cache/'.$first_img_name;    //文件所在地址

17

$first_img_file = ABSPATH. 'cache/'.$first_img_name;    //保存地址

18

$expired = 604800;    //过期时间

19

if ( !is_file($first_img_file) || (time() -filemtime($first_img_file)) > $expired ){

20

copy($first_img_src, $first_img_file);    //远程获取图片保存于本地

21

$post_timthumb = ''.%24first_img_src.'

22

}

23

$post_timthumb = ''.get_bloginfo(

24

$post_timthumb = ''.get_bloginfo(

25

echo $post_timthumb;

26

}

27

}

28

?>

将上面的代码放进WP的主题模板文件夹functions.php内,然后下载timthumb.php 文件放到主题根目录下!然后通过:

1

这个函数就可以调用出裁剪好尺寸为243*182的缩略图了,相应的缩略图结构代码参照:

1

"><?php post_thumbnail(243,182); ?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值