WordPress让投稿者也可以上传图片

2022年 2月 13日 46点热度 0人点赞

解决方法

有很多WordPress站点需要开放后台, 以接受用户投稿, 一般情况下我们将新用户的默认角色设置为: 投稿者.

在WordPress中, 投稿者用户在后台添加新文章时, 只能发布文本内容, 不能添加媒体, 也就是不能上传图片, 视频, 压缩包等文件. 但是对于很多站点来说, 图片等媒体对于丰富文章内容, 增加可读性起到了必不可少的作用, 所以投稿者不能上传图片实在是不方便. 本文将向你讲解在WordPress中如何给投稿者赋予上传文件的权限.

方法很简单, 使用文本编辑器打开当前主题目录下的functions.php, 添加以下代码即可:

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');
}

上述代码执行过一次后, 投稿者的权限设置将储存到数据库中, 即使你移除以上代码, 投稿者也依然拥有上传文件的权限. 如果你想剥夺投稿者上传文件的权限, 你可以使用以下代码来替换上面的代码:

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->remove_cap('upload_files');
}

隐含风险

贡献者增加了上传图片的权限之后, 也可以删除图片, 但是只能删除自己上传的图片, 所以不必担心贡献者会瞎搞.

参考资料

rainbow

这个人很懒,什么都没留下

文章评论