当前位置:首页>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给订阅者开启上传文件权限

这个问题其实也困扰我很久了,今天抽空研究了一下,还是权限不够的问题,需要完整的实现订阅者用户上传图片,还需要添加「编辑已发布文章」「编辑其他文章」「删除文章」这些权限。

这里直接给出完整代码,将下面的代码放至当前使用WordPress主题的functions.php中。

//增加订阅者权限,使其可以在投稿的时候上传图片,删除图片
function dahuzi_add_user_rights() {
	$role = 'subscriber';
	$role = get_role($role);
	$role->add_cap('upload_files');
	$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');

完美解决,教程结束...

文章链接:https://www.7zt.cn/2231.html
文章标题:WordPress给订阅者开启上传文件权限
文章版权:柒主题 所发布的内容,部分为原创文章,转载请注明来源,网络转载文章如有侵权请联系我们!
本文最后更新发布于2022年11月14日 20时35分00秒,某些文章具有时效性,若有错误或已失效,请在下方留言或联系:21660010@qq.com
声明 本站上的部份代码及教程来源于互联网,仅供网友学习交流,若您喜欢本文可附上原文链接随意转载。无意侵害您的权益,请发送邮件至 柒主题 或点击右侧 私信:站长 反馈,我们将尽快处理。

给TA打赏
共{{data.count}}人
人已打赏
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索