强制放大并裁剪较小的 WordPress 图片为指定尺寸的缩略图
文 / @WordPress主题
WordPress缩略图裁剪问题
我是小本本,今天要给大家说一下WordPress缩略图裁剪的问题。
放大并裁剪较小的WordPress缩略图到指定尺寸
默认情况下,在图片尺寸大于指定的尺寸时,WordPress可以把图像裁剪到比较小的尺寸,但是,在原图尺寸小于指定尺寸的情况下,WordPress不会放大这些图片到指定的尺寸。在一些对图片尺寸要求比较严格的主题中,如果某个图片尺寸小于指定的尺寸,可能会造成布局的错乱,为用户带来不好的体验。
有些时候,我们需要的是:不管用户上传的图片是大还是小,在前端输出的时候,我们只需要输出指定尺寸和比例的照片。图片质量是次要的,如果图片被裁剪的部分比较多,或者放大太大导致图片模糊的时候,上传者自己会重新调整图片到合适的尺寸和比例。
为了能让WordPress放大较小的图片,并把图片裁剪到指定的尺寸,把下面的代码添加的WordPress主题的functions.php中即可。
add_filter('image_resize_dimensions',function($default,$orig_w,$orig_h,$new_w,$new_h,$crop){
if(!$crop)returnnull;//letthewordpressdefaultfunctionhandlethis
$aspect_ratio=$orig_w/$orig_h;
$size_ratio=max($new_w/$orig_w,$new_h/$orig_h);
$crop_w=round($new_w/$size_ratio);
$crop_h=round($new_h/$size_ratio);
$s_x=floor(($orig_w-$crop_w)/2);
$s_y=floor(($orig_h-$crop_h)/2);
returnarray(0,0,(int)$s_x,(int)$s_y,(int)$new_w,(int)$new_h,(int)$crop_w,(int)$crop_h);
},10,6);
此功能的一个小缺点和更好的解决办法
上面的方法有一个小缺点就是,如果我们只需要一个小尺寸的图片,WordPress还是会把这个小图片放大到更大尺寸的缩略图,这会占用一些不必要的服务器空间,不过目前的服务器空是相当廉价的,和这个功能实现的效果来说,多出来这一些服务器空间的成本是相当划算的。能够避免上面缺点的更好的解决办法就是按需裁剪缩放图片,默认不生成缩略图,前端需要多大的图片,WordPress就输出多大的图片给前端,目前来说,我还没有找到实现的方法,如果您有类似的实现,欢迎在评论中提出,我们共同探讨。
相关文章
-
如何创建WordPress古腾堡编辑器的区块(PHP+原生JS) 2024-01-10 01:01:06
-
搭建一个WordPress网站需要多少成本 2023-11-06 00:09:51
-
Symlink介绍(附:如何使用Symlink进行WordPress开发) 2023-11-05 23:38:32
-
让WordPress实现数据库同步的插件:HyperDB 2023-10-24 23:40:49
-
allegro电商平台值得做吗(附:2023年Allegro注册流程指南) 2023-10-08 21:53:39
-
印度跨境电商平台有哪些(附:印度跨境电商做什么产品好) 2023-10-08 21:34:23
-
跨境电商必看的几大海外二手电商平台 2023-10-08 18:04:42
-
WordPress同城互联网产品解决方案:UBASE 2023-10-03 16:40:39
-
WordPress网站的安全插件:wordfence 2023-09-14 09:25:18
-
WordPress 6.3 支持在手动更新插件和主题失败后回滚旧版本 2023-08-28 16:58:45