WordPress如何给订阅者开启上传文件权限?
为了整个系统的安全性,WordPress默认订阅者是不能上传图片的,但是我们在开发一些主题的时候是需要用到用户…
为了整个系统的安全性,WordPress默认订阅者是不能上传图片的,但是我们在开发一些主题的时候是需要用到用户投稿功能的,一般是通过升级用户权限来实现投稿功能,但是WordPress如何给订阅者开启上传文件权限?
function dahuzi_add_user_rights() {
$role = ‘subscriber’;
$role = get_role($role);
$role->add_cap(‘upload_files’);
}
add_action( ‘admin_init’, ‘dahuzi_add_user_rights’);
将上面的代码添加到当前使用WordPress主题的functions.php文件后,在投稿页面也显示出来了添加媒体的按钮,但是就是点击添加媒体上传图片后提示:抱歉,您不能添加附件到此文章。(如下图所示)
还是权限不够的问题,需要完整的实现订阅者用户上传图片,还需要添加「编辑已发布文章」「编辑其他文章」「删除文章」这些权限。
这里直接给出完整代码,将下面的代码放至当前使用WordPress主题的functions.php中。
//增加订阅者权限,使其可以在投稿的时候上传图片,删除图片
function dahuzi_add_user_rights() {
$role = ‘subscriber’;
$role = get_role($role);
$role->add_cap(‘upload_files’);
$role->add_cap(‘edit_others_posts’);
$role->add_cap(‘edit_published_posts’);
$role->add_cap(‘delete_posts’);
}
add_action( ‘admin_init’, ‘dahuzi_add_user_rights’);
需要注意的是,这些权限是直接写进数据库的,开启这些权限后,如需重新禁用这些权限时,直接删除这段代码是不行的。
如需禁用该权限,需要将以上代码中的add_cap替换成remove_cap
比如:
$role->add_cap(‘upload_files’);
替换成:
$role->remove_cap(‘upload_files’);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!