WordPress给投稿者和订阅者开启上传文件权限
WordPress为了整个系统的安全性,默认投稿者是没有上传图片、视频及其它文件的权限的。但如果你的网站是个社区化类型的网站就需要给投稿者开启上传文件权限,比如允许用户上传头像、建立个人相册等,这些功能如果没给投稿者开启上传文件权限就无法实现。我就曾经被这个上传权限折腾过,原先在弄上传头像时发现前台投稿者用户怎么也无法上传头像,折腾比较久才想到这个权限的事。本文将介绍如何给投稿者开启上传文件权限。以下是具体方法:
1、给投稿者开启上传文件权限:
/* 给投稿者开启上传文件权限 代码来源: www.wpzxbj.com/jiaocheng/1790.html */ if ( current_user_can('contributor') && !current_user_can('upload_files') ) add_action('admin_init', 'allow_contributor_uploads'); function allow_contributor_uploads() { $contributor = get_role('contributor'); $contributor->add_cap('upload_files'); }
代码说明:将以上代码插入主题function.php即可。但需要注意的是,这段代码开启投稿者上传文件权限后,如需重新禁用其上传文件权限时,直接删除这段代码并不能去掉投稿者的上传权限。如需禁用该权限,需要将以上代码中的:
$contributor->add_cap('upload_files');
修改为:
$contributor->remove_cap('upload_files');
只有这样,才能重新禁用投稿者上传文件权限。
2、也可以用以下代码实现给订阅者开启上传文件权限:
/* 给订阅者开启上传文件权限 代码来源: www.wpzxbj.com */ function enable_file_uploads_by_role( ) { $role = 'subscriber'; if(!current_user_can($role) || current_user_can('upload_files')) return; $contributor = get_role( $role ); $contributor->add_cap('upload_files'); } add_action('admin_init', 'enable_file_uploads_by_role');
原理是一样的,只是实现的代码不一样而已。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END