【发布时间】:2022-11-17 18:29:07
【问题描述】:
我在 Wordpress 中有这个钩子,可以将任何上传的 PNG 或 JPEGS 转换为 WebP 图像:
add_filter( 'wp_handle_upload', 'create_webp' );
function create_webp($file) {
if ($file['type'] === "image/png") {
// Create and save
$img = imagecreatefrompng($file['file']);
imagepalettetotruecolor($img);
imagealphablending($img, true);
imagesavealpha($img, true);
imagewebp($img, str_replace(".png" ,".webp", $file['file']), 100);
imagedestroy($img);
}
elseif($file['type'] === "image/jpg" || $file['type'] === "image/jpeg"){
$img = imagecreatefromjpeg($file['file']);
imagepalettetotruecolor($img);
imagealphablending($img, true);
imagesavealpha($img, true);
if($file['type'] === "image/jpg"){
imagewebp($img, str_replace(".jpg" ,".webp", $file['file']), 100);
}
else{
imagewebp($img, str_replace(".jpeg" ,".webp", $file['file']), 100);
}
imagedestroy($img);
}
return $file;
}
所以现在每次我将新图像上传到媒体库时,也会创建一个 .webp 版本。但是,我想找到一种方法来用新创建的 .webp 图像替换上传到媒体库的旧 PNG 或 JPEG 图像。因此,当我转到 Wordpress 中的媒体库时,我会看到 .webp 图像,而不是 PNG 或 JPEG 这可能吗?
【问题讨论】:
标签: php wordpress webp image-conversion