WordPress限制用户上传的图片尺寸的方法

 所属分类:WordPress教程

 浏览:339次-  评论: 0次-  更新时间:2022-08-10
描述:如果用户上传一张很大的图片那会给我们的网站带来很大的负担,特别是头像每个人都上传超大图那网站空间很快就会被占用完,那么 WordPress...

如果用户上传一张很大的图片那会给我们的网站带来很大的负担,特别是头像每个人都上传超大图那网站空间很快就会被占用完,那么 WordPress 怎么限制用户上传的图片尺寸呢。

大家可以将下列代码复制进当前主题的 function.php 中,代码的含义是按照图片的尺寸进行现在,排除掉了管理员:

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;
}

按照图片文件占用大小的限制代码如下,大家也可以进行复制:

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');

除此以外,小伙伴们还可以通过使用插件来解决,电脑笔记网推荐一个叫作“WP Image Size Limit”,可以对文件大小和尺寸进行限制,有需要的小伙伴可以在自己的后台搜索并安装。

WordPress限制用户上传的图片尺寸的方法

 标签: WordPress
积分说明:注册即送10金币,每日签到可获得更多金币,成为VIP会员可免金币下载! 充值积分充值会员更多说明»

讨论这个素材(0)回答他人问题或分享使用心得奖励金币

〒_〒 居然一个评论都没有……

表情  文明上网,理性发言!