限制 WordPress 用户上传图片尺寸大小

知更鸟 2022年6月2日18:39:28WordPress1 130阅读模式

WordPress 多用户站点,文章作者上传图片时图省事,直接上传未经过任何压缩处理的原始图片,几M的文件,不仅占用空间,而且影响加载速度。可以通过下面的代码限制上传的尺寸,当上传图片超出尺寸限制时,会抛出最大图片尺寸的错误提示。文章源自知更鸟-https://zmingcx.com/wordpress-limit-image-upload-size.html

文章源自知更鸟-https://zmingcx.com/wordpress-limit-image-upload-size.html

限制 WordPress 用户上传图片尺寸大小

限制 WordPress 用户上传图片尺寸

文章源自知更鸟-https://zmingcx.com/wordpress-limit-image-upload-size.html

代码添加到当前主题函数模板 functions.php 中:文章源自知更鸟-https://zmingcx.com/wordpress-limit-image-upload-size.html

按图片尺寸限制文章源自知更鸟-https://zmingcx.com/wordpress-limit-image-upload-size.html

add_action( 'admin_init', 'zm_wp_limit_image_upload_size' );

function zm_wp_limit_image_upload_size() {
	// 排除管理员
	if( ! current_user_can( 'administrator' ) )
		add_filter( 'wp_handle_upload_prefilter', 'zm_limit_image_upload_size' ); 
}

function zm_limit_image_upload_size( $file ) {
	// Mime type with dimensions, check to exit earlier
	$mimes = array( 'image/jpeg', 'image/png', 'image/gif' );

	if( !in_array( $file['type'], $mimes ) )
		return $file;

	$img = getimagesize( $file['tmp_name'] );
	$maximum = array( 'width' => 500, 'height' => 700 );

	if ( $img[0] > $maximum['width'] )
		$file['error'] = '图片太大。 最大宽度为 ' . $maximum['width'] . 'px. 上传的图片宽度为 ' . $img[0] . 'px';

	elseif ( $img[1] > $maximum['height'] )
		$file['error'] = '图片太大。 最大高度为' . $maximum['height'] . 'px. 上传的图片高度为' . $img[1] . 'px';
	return $file;
}

默认排除管理员。文章源自知更鸟-https://zmingcx.com/wordpress-limit-image-upload-size.html

按图片文件大小限制文章源自知更鸟-https://zmingcx.com/wordpress-limit-image-upload-size.html

function zm_limit_image_size($file) {
	// 以 KB 计算图像大小
	$image_size = $file['size']/1024;

	// 限制文件大小以 KB 为单位
	$limit = 200;

	// 检查它是否是图像
	$is_image = strpos($file['type'], 'image');

	if ( ( $image_size > $limit ) && ($is_image !== false) )
		$file['error'] = '你的图片太大了。 必须小于 '. $limit .'KB';

	return $file;

}
add_filter('wp_handle_upload_prefilter', 'zm_limit_image_size');

 文章源自知更鸟-https://zmingcx.com/wordpress-limit-image-upload-size.html

相关插件文章源自知更鸟-https://zmingcx.com/wordpress-limit-image-upload-size.html

也可以安装限制图片大小插件:WP Image Size Limit文章源自知更鸟-https://zmingcx.com/wordpress-limit-image-upload-size.html

限制 WordPress 用户上传图片尺寸大小文章源自知更鸟-https://zmingcx.com/wordpress-limit-image-upload-size.html

 文章源自知更鸟-https://zmingcx.com/wordpress-limit-image-upload-size.html

weinxin
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
评论  1  访客  1
    • 404
      404 0

      大佬 可以用纯代码实现块的可见性吗?就是点一下文字才显示更多内容,找了一圈只有插件。

    匿名

    发表评论

    匿名网友 填写信息

    :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

    确定