17站长网

17站长网 首页 CMS WordPress 查看内容

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

2022-9-22 23:28| 查看: 1932 |来源: 互联网

利用wordpress搭建的站点可以上传图片,如果站点开放了用户注册,除了管理员自己外其他人也就可以上传图片。有时候为了省事站长会直接上传原图,如果没有对上传 ...

利用wordpress搭建的站点可以上传图片,如果站点开放了用户注册,除了管理员自己外其他人也就可以上传图片。有时候为了省事站长会直接上传原图,如果没有对上传图片的尺寸大小做限制,用户也会直接上传原图,这样就会带来问题。大量的大图不仅会占用服务器空间,同时也会影像网页的加载速度。所以最好的解决办法还是要对Wordpress限制下图片上传尺寸和大小。那应该如何操作呢?今天17站长网就来给大家分享下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”,可以对文件大小和尺寸进行限制,可以在后台搜索并安装。

插件地址:https://cn.wordpress.org/plugins/wp-image-size-limit/


本文最后更新于 2022-9-22 23:28,某些文章具有时效性,若有错误或已失效,请在网站留言或联系站长:17tui@17tui.com
·END·
站长网微信号:w17tui,关注站长、创业、关注互联网人 - 互联网创业者营销服务中心

免责声明:本站部分文章和图片均来自用户投稿和网络收集,旨在传播知识,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系我们及时修正或删除。谢谢!

17站长网微信二维码

始终以前瞻性的眼光聚焦站长、创业、互联网等领域,为您提供最新最全的互联网资讯,帮助站长转型升级,为互联网创业者提供更加优质的创业信息和品牌营销服务,与站长一起进步!让互联网创业者不再孤独!

扫一扫,关注站长网微信

大家都在看

    热门排行

      最近更新

        返回顶部