Products
GG网络技术分享 2025-03-18 16:13 0
众所周知,在以前版本的 wordpress 里,上传到媒体库的图片默认都会按照缩略图/中等大小/大尺寸这三个等级自动生成对应的不同尺寸图片,用来给不同的地方调用。
这个功能初衷实际是好的,方便菜鸟用户,毕竟这类用户完全不懂图片缩放和压缩体积等技巧,此功能可以避免出现在页面出现体积巨大的原图,影响页面加载时间。
但对于像习惯在本地将图片调整到合适的规格大小的用户来说,页面都是只要显示原图就行了,这功能完全没有用处,反而额外生成的图片还浪费了云盘空间,因此这功能都是直接关闭,也就是把数值全都设定为零。
而在目前新版的 wordpress 程序里(从 5.3 开始),又有了不同情况,程序会对上传的图片尺寸进行额外检测,再自动生成 1536 宽度的 2x 中大尺寸(2x Medium Large),2048 宽度的 2x 大尺寸(2x Large),2560 宽度的缩放(Scaled)这三种新规格的图片,加上默认的几种缩略图规格,也就是极端情况下, 上传一张图片,会额外生成 7 张图片。
如果用的主题还有其它额外参数的话,甚至还会生成更多不同规格版本。一张图生成那么多版本实在是没必要,今天来说一下如何彻底关闭此功能,让它不要生成任何额外版本的图片。
首先常规的就是 wordpress 主程序的设置——媒体里,把三个规格的宽度和高度数值全部改为零。
然后在主题的 function.php 里添加以下内容:
// 禁用自动生成的图片尺寸
function shapeSpace_disable_image_sizes($sizes) {
unset($sizes['thumbnail']); // disable thumbnail size
unset($sizes['medium']); // disable medium size
unset($sizes['large']); // disable large size
unset($sizes['medium_large']); // disable medium-large size
unset($sizes['1536x1536']); // disable 2x medium-large size
unset($sizes['2048x2048']); // disable 2x large size return $sizes;
}
add_action('intermediate_image_sizes_advanced', 'shapeSpace_disable_image_sizes');
// 禁用缩放尺寸
add_filter('big_image_size_threshold', '__return_false');
// 禁用其他图片尺寸
function shapeSpace_disable_other_image_sizes() {
remove_image_size('post-thumbnail'); // disable images added via set_post_thumbnail_size() remove_image_size('another-size'); // disable any other added image sizes
}
add_action('init', 'shapeSpace_disable_other_image_sizes');保存即可,然后上传的图片就不会再生成任何额外版本了,不管什么地方插入图片,调用的都是原图。
https://www.jiancai315.com/n/46394.html
很多网友会遇到这样一个问题,就是WordPress网站上传图片、附件、多媒体文件时有一个最大文件大小限制,有的甚至只有2M,对与平时上传个图片这个限制还没问题,但是如果要上传个附件或视频等,那就麻烦了,会提示你上传文件超出大小限制。在这种情况下我们可以尝试用下面的方法来修改一下WordPress上传文件大小的限制。
方法一:
在functions.php中添加如下代码,这样上传限制就是64M
@ini_set( \'upload_max_size\' , \'64M\' );@ini_set( \'post_max_size\', \'64M\');@ini_set( \'max_execution_time\', \'300\' );
方法二:
新建一个php.ini文件,在你的主机空间的根目录新建一个php.ini文件,里面使用如下代码。
upload_max_filesize = 64Mpost_max_size = 64Mmax_execution_time = 300
方法三:
在网站根目录的 .htaccess 文件中添加如下代码。
php_value upload_max_filesize 64Mphp_value post_max_size 64Mphp_value max_execution_time 300php_value max_input_time 300
其中方法一我试过很多次,没成功,不知道是我的主机的问题还是其他什么问题,方法二我用了,好用,不过这需要你的服务器支持。方法三好像之前用过可以用,大家自己测试一下吧。网上基本也就这三种方法,其他的还没发现
Demand feedback