
为什么要使用WebP格式的图片
WebP格式图片是由 Google 推出的一种现代图像格式,用来替代传统的图像格式如 JPEG(JPG)、PNG、等。
相比 JPEG(JPG)、PNG,WebP 通常可以提供更小的文件大小,同时保持相似或更好的图像质量。
比JPEG节省25%-34%文件大小,比PNG减少26%以上体积。较小的图片体积让网页加载更快,能够提高用户体验。快速加载的网页对 SEO(搜索引擎优化) 更好,提升网站在 Google、百度 等搜索引擎中的排名。
代码功能
- 将上传的 JPEG(JPG)、PNG 格式图片自动转换成 WEBP 格式,
- 可选功能一:删除原图片
- 可选功能二:禁止生成其他尺寸的缩略图
代码教程
子比主题:将下方代码加入/wp-content/themes/zibll/functions.php文件或者func.php文件中(两个文件性质一样,只是 func.php 子比主题更新不会被覆盖掉,也就不需要再次修改),注意加在 <?php 的后面
其他注意也是一样
/**
* WordPress自动将上传图片转换为WebP格式,同时删除原文件
* 图像质量默认为80%,可根据需要调整
*/
add_filter('wp_handle_upload', 'auto_convert_to_webp');
function auto_convert_to_webp($upload) {
// 检查是否为支持的图片格式
if (in_array($upload['type'], ['image/jpeg', 'image/png'])) {
$file_path = $upload['file'];
$quality = 80; // 可调整质量参数,建议70-90%
// 检查服务器是否支持图像处理
if (extension_loaded('imagick') || extension_loaded('gd')) {
$image_editor = wp_get_image_editor($file_path);
if (!is_wp_error($image_editor)) {
// 生成WebP文件路径
$webp_path = preg_replace('/\.[^.]+$/', '.webp', $file_path);
// 保存为WebP格式
$image_editor->save($webp_path, 'image/webp');
// 更新上传信息指向WebP文件
$upload['file'] = $webp_path;
$upload['type'] = 'image/webp';
$upload['url'] = preg_replace('/\.[^.]+$/', '.webp', $upload['url']);
// 删除原始文件(可选)
@unlink($file_path);
}
}
}
return $upload;
}
//禁止生成缩略图(不需要将下面的全部删除)
function luesuotu( $sizes ){
unset( $sizes[ 'thumbnail' ]);
unset( $sizes[ 'medium' ]);
unset( $sizes[ 'medium_large' ] );
unset( $sizes[ 'large' ]);
unset( $sizes[ 'full' ] );
unset( $sizes['1536x1536'] );
unset( $sizes['2048x2048'] );
return $sizes;
}
add_filter( 'intermediate_image_sizes_advanced', 'luesuotu' );© 版权声明
THE END


.jpg)












暂无评论内容