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

百句空言,不如一个行动。凡事回归原点,不懂就不懂,努力学习;懂了也要相信人外有人,放下架子,谦虚,能力提升方可最大化!

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/**
 * 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;
}

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

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

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

到此这篇关于WordPress 限制上传图片的最小宽度和高度就介绍到这了。你比你想象中更勇敢,比你看起来更强大,也比你以为的更聪明。更多相关WordPress 限制上传图片的最小宽度和高度内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!

您可能有感兴趣的文章
WordPress站点Gravatar头像前后台不显示的如何解决办法

WordPress做公司官网好吗?会不会显得档次很低?

WordPress主题需要支持https吗?WordPress站点如何如何实现https?

WordPress站点的页面/标签/分类URL地址如何添加.html?

WordPress站点更换了域名后数据库应该如何操作替换新旧域名?