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

本文作者:
2周前 (07-01)

最近几天在做建站的开发和改版,也是为了给站点一个分明的用户等级,而这个时候我们是开放了 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');
}

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

相关文章