当前位置:首页>WordPress建站>后台定制>WordPress 限制上传图片的最小宽度和高度

WordPress 限制上传图片的最小宽度和高度

WordPress 主题 CoreNext

作为一个开放注册的WordPress站点,为了保证文章的质量,你可能需要限制其他用户上传图片的最小宽度和高度。实现的方法也很简单,将下面的代码添加到当前主题的 functions.php 即可:

/**
 * WordPress 限制上传图片的最小宽度和高度
 * https://www.wpdaxue.com/wordpress-minimum-require-for-image-size.html
 */
add_action( 'admin_init', 'block_authors_from_uploading_small_images' );

function block_authors_from_uploading_small_images(){
	//除管理员以外,其他用户都限制
	if( !current_user_can( 'manage_options') )
		add_filter( 'wp_handle_upload_prefilter', 'block_small_images_upload' ); 
}

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

该代码会对非管理员用户进行限制,如果上传的图片的最小宽度或高度达不到要求,就会限制上传和进行提示。效果类似于下图:

0572-wpdaxue_com

参考资料:http://wordpress.stackexchange.com/questions/28359/

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
欢迎关注WordPress大学公众号 WPDAXUE
后台定制

WordPress 关闭 XML-RPC 的 pingback 端口

2014-3-14 9:14:01

后台定制

WordPress 自定义注册表单插件 Register Plus Redux

2014-3-29 10:28:31

5 条回复 A文章作者 M管理员
  1. 这个很实用

  2. 很实用。有一天我自己的网站打开好慢,检查后才发现原来有个编辑上传了4张每张接近2M的照片在一个文章里

  3. 学习了

  4. 很实用,彻底解决了我的问题

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索