WordPress 投稿上传图片

更新时间:2018-10-06 分类:设计主题 浏览量:1803

WordPress 投稿上传图片

有很多 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 后台的文章发布页面,看看是否已经没有了添加媒体的按钮。如果按钮已经消失,你就可以将上面的代码移除了。

如果需要限制投稿者只能上传图片,将下面的 php 代码放到当前主题的 functions.php 中:


add_filter('upload_mimes', 'custom_upload_mimes');
function custom_upload_mimes ($existing_mimes=array() ) {
$existing_mimes = array('jpg|jpeg|jpe' => 'image/jpeg',
'gif' => 'image/gif',
'png' => 'image/png',
'bmp' => 'image/bmp',
'tif|tiff' => 'image/tiff',
'ico' => 'image/x-icon');

return $existing_mimes;
}

来源:露兜博客