WordPress 限制不同用户角色可上传的文件类型及大小
开放注册的限型及WordPress站点 ,一般都会根据不同等级的同用用户角色来赋予不同的权限 。文件上传功能就是户角一个比较常用的功能 ,那么 ,色可上传金铲铲科技卡盟科技站如何限制不同用户角色可上传的限型及文件类型及大小呢 ?下面倡萌就来说说这个问题 。
让用户拥有上传文件的同用金铲铲科技辅助下载权限
默认情况下,有些用户是户角不允许上传文件的 ,你可以在主题的色可上传 functions.php 添加下面的代码:

上面的代码就是给 contributor 这个用户角色添加了 upload_files (上传文件)的权限。
限制用户上传文件的限型及类型
首先 ,大家可以先了解一下 WordPress 默认允许上传的同用文件类型,打开WordPress的户角 /wp-includes/functions.php 文件,然后搜索 function wp_get_mime_types 定位到那里 ,色可上传你就会看到详细的限型及金铲铲科技外挂方案文件类型:
function wp_get_mime_types() { // Accepted MIME types are set here as PCRE unless provided. return apply_filters( mime_types, array( // Image formats jpg|jpeg|jpe => image/jpeg, gif => image/gif, png => image/png, bmp => image/bmp, tif|tiff => image/tiff, ico => image/x-icon, // Video formats asf|asx|wax|wmv|wmx => video/asf, avi => video/avi, divx => video/divx, flv => video/x-flv, mov|qt => video/quicktime, mpeg|mpg|mpe => video/mpeg, mp4|m4v => video/mp4, ogv => video/ogg, mkv => video/x-matroska, // Text formats txt|asc|c|cc|h => text/plain, csv => text/csv,本尊科技 tsv => text/tab-separated-values, ics => text/calendar, rtx => text/richtext, css => text/css, htm|html => text/html, // Audio formats mp3|m4a|m4b => audio/mpeg, ra|ram => audio/x-realaudio, wav => audio/wav, ogg|oga => audio/ogg, mid|midi => audio/midi, wma => audio/wma, mka => audio/x-matroska, // Misc application formats rtf => application/rtf, js => application/javascript, pdf => application/pdf, swf => application/x-shockwave-flash, class => application/java, tar => application/x-tar, zip => application/zip, gz|gzip => application/x-gzip, rar => application/rar, 7z => application/x-7z-compressed, exe => application/x-msdownload, // MS Office formats doc => application/msword, pot|pps|ppt => application/vnd.ms-powerpoint, wri => application/vnd.ms-write, xla|xls|xlt|xlw => application/vnd.ms-excel, mdb => application/vnd.ms-access, mpp => application/vnd.ms-project, docx => application/vnd.openxmlformats-officedocument.wordprocessingml.document, docm => application/vnd.ms-word.document.macroEnabled.12, dotx => application/vnd.openxmlformats-officedocument.wordprocessingml.template, dotm => application/vnd.ms-word.template.macroEnabled.12, xlsx => application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, xlsm => application/vnd.ms-excel.sheet.macroEnabled.12, xlsb => application/vnd.ms-excel.sheet.binary.macroEnabled.12, xltx => application/vnd.openxmlformats-officedocument.spreadsheetml.template, xltm => application/vnd.ms-excel.template.macroEnabled.12, xlam => application/vnd.ms-excel.addin.macroEnabled.12, pptx => application/vnd.openxmlformats-officedocument.presentationml.presentation, pptm => application/vnd.ms-powerpoint.presentation.macroEnabled.12, ppsx => application/vnd.openxmlformats-officedocument.presentationml.slideshow, ppsm => application/vnd.ms-powerpoint.slideshow.macroEnabled.12, potx => application/vnd.openxmlformats-officedocument.presentationml.template, potm => application/vnd.ms-powerpoint.template.macroEnabled.12, ppam => application/vnd.ms-powerpoint.addin.macroEnabled.12, sldx => application/vnd.openxmlformats-officedocument.presentationml.slide, sldm => application/vnd.ms-powerpoint.slide.macroEnabled.12, onetoc|onetoc2|onetmp|onepkg => application/onenote, // OpenOffice formats odt => application/vnd.oasis.opendocument.text, odp => application/vnd.oasis.opendocument.presentation, ods => application/vnd.oasis.opendocument.spreadsheet, odg => application/vnd.oasis.opendocument.graphics, odc => application/vnd.oasis.opendocument.chart, odb => application/vnd.oasis.opendocument.database, odf => application/vnd.oasis.opendocument.formula, // WordPerfect formats wp|wpd => application/wordperfect, ) ); }=> 的前面为格式 ,后面为格式描述。同用如果你要禁止上传其中的户角某些类型 ,可以参考下面的金铲铲科技透视外挂例子 :
将下面的代码添加到主题的 functions.php 文件:
//禁止上传avi和mp4格式的文件 add_filter(upload_mimes, custom_upload_mimes); function custom_upload_mimes ( $existing_mimes=array() ) { unset ($existing_mimes[avi]); unset ($existing_mimes[mp4]); return $existing_mimes; }如果你还要禁止更多,可以按照 unset ($existing_mimes[格式]); 样例添加即可 。
如果你仅仅只需要允许用户上传几种类型而已 ,还可以通过下面的金铲铲科技加速科技更简洁的方法 ,代码添加到主题的 functions.php 文件:
//只允许上传图片文件 add_filter(upload_mimes, custom_upload_mimes); function custom_upload_mimes ( $existing_mimes=array() ) { unset ($existing_mimes);//禁止上传任何文件 $existing_mimes[jpg|jpeg|gif|png]=image/image;//允许用户上传jpg,gif,png文件 return $existing_mimes; }如果你还要允许上传其他格式 ,重复使用 $existing_mimes[格式]=描述; 即可。
限制用户上传的金铲铲科技漂移科技站文件大小
同样在主题的 functions.php 文件中 ,添加下面的代码:
//限制上传文件的最大体积 function max_up_size() { return 500*1024; // 500 kb } add_filter(upload_size_limit, max_up_size);上面的例子是限制所有用户上传的文件的最大体积为 500 kb (1M =1024*1024) 。
注意:主机空间和WordPress本身一般设置了允许上传的文件的最大体积,所以在这里设置需要考虑到这点。金铲铲卡盟科技加速器
限制不同用户角色可上传的文件类型及大小
其实上面已经给出了限制类型和大小的方法 ,要根据不同用户角色来限制 ,只需要添加角色判断代码即可 。倡萌举个综合的例子:
//不同用户上传的类型 function custom_upload_mimes ( $existing_mimes=array() ) { unset ($existing_mimes);//禁止上传任何文件 if( current_user_can( publish_posts ) && !current_user_can( publish_pages ) ) { //允许作者(Author)上传的类型 $existing_mimes[jpg|jpeg|gif|png]=image/image;//允许用户上传jpg,gif,png文件 $existing_mimes[zip]=application/zip; //允许用户上传zip压缩包 $existing_mimes[pdf]=application/pdf; //允许用户上传pdf文件 }elseif( current_user_can( edit_posts ) && !current_user_can( publish_posts ) ) { //允许投稿者(Contributor)上传的类型 $existing_mimes[jpg|jpeg|gif|png]=image/image; $existing_mimes[pdf]=application/pdf; }else{ //其他用户角色上传的类型 $existing_mimes[jpg|jpeg|gif|png]=image/image; } return $existing_mimes; } //不同用户上传的大小 function max_up_size() { if( current_user_can( publish_posts ) && !current_user_can( publish_pages ) ) { return 2048*1024; // 允许作者(Author)上传 2M }elseif( current_user_can( edit_posts ) && !current_user_can( publish_posts ) ) { return 1024*1024; // 允许投稿者(Contributor)上传 1M }else{ return 500*1024; // 其他用户角色上传 500 kb } } //只对非管理员执行这两个函数(即:对管理员不生效) if( !current_user_can( manage_options ) ) { add_filter(upload_mimes, custom_upload_mimes); add_filter(upload_size_limit, max_up_size); }相关文章

开源OA协同办公系统,集成Flowable流程引擎 可拖拽创建个性表单
源码简介开源OA协同办公系统,集成Flowable流程引擎 可拖拽创建个性表单。基于RuoYi-VUE版本开发。1、使用RuoYi-Vue的基础上开发。2、集成flowable,并与系统用户角色进行绑2025-11-08
校长120帧画质助手.apk是一款能够为用户提供游戏画质修复的游戏工具app,软件中将能够帮助用户能够轻松一键解锁高画质,帮助用户能够始终锁定高帧率进行游玩,校长120帧画质助手.apk将支持众多游戏2025-11-08
rustdesk官方版是一款多功能的远程桌面访问与控制软件,操作简单好上手,访问过程稳定且安全,可以轻松穿透内网,手机控制手机等,方便用户进行远程控制欲传输文件,满足用户的不同需要,还支持在不同的平台2025-11-08
影视工厂TV是一款能够为电视用户提供更加专业的观影体验的电视盒子app,软件中将会为用户提供众多影视资源,各种类型应有尽有,能够轻松满足用户的观看需求,影视工厂TV中还将会为用户提供超多的功能,帮助用2025-11-08
源码介绍html5星空特效代码,星空背景登录界面模板HTML源码。HTML5 canvas鼠标经过星星连线动态背景,账户和密码登录框透明效果。下载地址此处内容需要回复后才能查看2025-11-08
汽水音乐免费听歌是一款能够为用户提供专业听歌服务的平台app,软件中将为用户提供超多抖音热门金曲,更有发现专区,让用户能够通过软件找到中意的歌曲资源,汽水音乐免费听歌中将会为用户提供多种不同的听歌模式2025-11-08

最新评论