WordPress限制后台上传图片宽度和高度大小方法

如果我们网站程序是用的WordPress的话,如果我们网站是自己管理和编辑内容的,基本上网站的图片可以自己控制大小。但是,如果我们是做的开放平台,网友和用户可以自己提交内容,那就需要对内容和图片进行审核,一来需要审核内容符合常规和审核。二来也需要审核图片大小,尤其是图片大尺寸需要设置限制,要不会导致服务器的容量出现问题。

这里我们可以通过限制上传图片的大小还限制图片的大小。

add_action( \’admin_init\’, \’wpse_28359_block_authors_from_uploading_small_images\’ );
//设置非管理员上传图片进行大小检查
function wpse_28359_block_authors_from_uploading_small_images()
{
if( !current_user_can( \’administrator\’) )
add_filter( \’wp_handle_upload_prefilter\’, \’wpse_28359_block_small_images_upload\’ );
}
function wpse_28359_block_small_images_upload( $file )
{
// 上传图片类型的检查限制
$mimes = array( \’image/jpeg\’, \’image/png\’, \’image/gif\’ );
if( !in_array( $file[\’type\’], $mimes ) )
return $file;
$img = getimagesize( $file[\’tmp_name\’] );
//上传图片宽高的限制设置
$minimum = array( \’width\’ => 640, \’height\’ => 480 );
if ( $img[0] < $minimum[\’width\’] )
$file[\’error\’] =
\’图片太小了。最小宽度是 \’
. $minimum[\’width\’]
. \’px. 上传图片宽度是 \’
. $img[0] . \’px\’;
elseif ( $img[1] < $minimum[\’height\’] )
$file[\’error\’] =
\’图片太小了。最小的高度 \’
. $minimum[\’height\’]
. \’px. 上传图片高度是 \’
. $img[1] . \’px\’;
return $file;
}

我们可以看到上面的代码中限制图片的大小是640和480,我们可以根据实际的需要进行调整。然后将代码添加到当前主题的Functions.php文件中。这样就可以限制图片大小。