加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 挂钩进入WordPress图片上传

发布时间:2020-12-13 16:55:33 所属栏目:PHP教程 来源:网络整理
导读:对于我的Wordpress网站,我想在用户上传图片时以编程方式自动生成额外的照片尺寸.我希望这张照片也出现在媒体库中. 我写了一个小侧插件,我激活它以挂钩上传动作.我的问题是,我应该挂钩哪个wp上传操作来生成上传图像的额外大小. 欢迎获取当前上载和写入额外图
对于我的Wordpress网站,我想在用户上传图片时以编程方式自动生成额外的照片尺寸.我希望这张照片也出现在媒体库中.

我写了一个小侧插件,我激活它以挂钩上传动作.我的问题是,我应该挂钩哪个wp上传操作来生成上传图像的额外大小.

欢迎获取当前上载和写入额外图像条目的示例.

谢谢!

解决方法

你可以试试wp_handle_upload_prefilter:

add_filter('wp_handle_upload_prefilter','custom_upload_filter' );
function custom_upload_filter( $file ){
    $file['name'] = 'wordpress-is-awesome-' . $file['name'];
    return $file;
}

按照上面的说法挂钩上传操作,并做一些像生成额外的图像:

function generate_image($src_file,$dst_file) {
     $src_img = imagecreatefromgif($src_file);
     $w = imagesx($src_img);
     $h = imagesy($src_img);

     $new_width = 520;
     $new_height = floor($new_width * $h / $w);

     if(function_exists("imagecopyresampled")){
         $new_img = imagecreatetruecolor($new_width,$new_height);
         imagealphablending($new_img,false);
         imagecopyresampled($new_img,$src_img,$new_width,$new_height,$w,$h);
     } else {
         $new_img = imagecreate($new_width,false);
         imagecopyresized($new_img,$h);
     }
     imagesavealpha($new_img,true);    
     imagejpeg($new_img,$dst_file);

     imageDestroy($src_img);
     imageDestroy($new_img);

     return $dst_file;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读