WordPress 让投稿者也支持上传图片/音频/视频

张子凡 WordPress建站 2015-10-19 10:47:00 阅读(...) 评论(4)

最近几天在做泪雪建站的开发和改版,也是为了给站点一个分明的用户等级,而这个时候我们是开放了 WordPress 的部分后台功能,但是由于对用户功能及权限的控制,所以我们往往给用户的级别都是“投稿者”身份级别。

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

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

1
2
3
4
5
6
7
8
//投稿者图片上传支持
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');
}

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

1
2
3
4
5
6
7
8
//投稿者图片上传重置
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');
}

然后使用投稿者帐号登录一下 WordPress 后台的文章发布页面,看看是否已经没有了添加媒体的按钮。如果按钮已经消失,你就可以将上面的代码移除了。

好吧!子凡这里也就简单做个记录吧!

除非注明,否则均为泪雪博客原创文章,转载请以链接形式标明本文地址

本文链接:https://zhangzifan.com/wordpress-allow-contributor-uploads.html

发表评论

  1. 楚狂人
    1楼
    楚狂人 3个月前 (09-09)

    现在这个方法好像无效了

    • 张子凡
      回复
      张子凡 3个月前 (09-10)
      回复 @楚狂人 :很久没有用这段代码了,可能是新版的WordPress做了变更
  2. water
    2楼
    water 1年前 (2017-08-23)

    现在最新版本的wp设置不生效啊,投稿者在后台还是不显示添加多媒体的按钮

    • 张子凡
      回复
      张子凡 1年前 (2017-08-24)
      回复 @water :最新版我目前倒是没有测试过,改天有空测试看看