やりたいこと
WordPressで権限管理をする場合、WordPress自体を変更されないように、寄稿者権限にすることがあるかと思います。ただこの場合だと、記事の作成はできます(ただし公開はできない)が、記事内で使う画像をアップロードが権限上できません。そのため、今回は、寄稿者権限でもメディアをアップロードする方法をまとめておこうと思います。
WordPressの権限
権限とは
WordPressでは、複数人でサイトを運営する際に、権限を分けることができます。プラグインの設定やサイトのデザインを変更できないようにする、画像のアップロードをさせない、公開設定はさせないなど、適切な権限設定が行なえます。
権限グループには、管理者、編集者、投稿者、寄稿者、購読者の5つの権限設定ができます。全て操作ができる権限が管理者になっており、できることが1番少ない権限が購読者になっています。
・管理者:全機能にアクセスできる権限
・編集者:記事管理に関することは全てできる権限(外観、プラグイン、設定などはできません。)
・投稿者:自身のアカウントの投稿のみ管理できる権限(固定ページの作成はできません。)
・寄稿者:自身のアカウントの公開ができず、記事の作成のみできる権限(メディアのアップロードができません)
・購読者:自身のプロフィールのみ編集できる権限(記事に関する機能は使えません。)
上記のように権限が分けられています。
ライターに権限をつける場合はどれにすべきか
では、記事の作成をライターにお願いしたい場合、どの権限をつけるべきでしょうか。個人的には、寄稿者権限にすることをオススメします。ケースバイケースだと思いますが、
・ライターに記事の公開権限を付けたくない場合
は、寄稿者権限にしましょう。寄稿者権限にすることで、問題が1つ発生します。寄稿者権限だと、メディアをアップロードすることができません。これは寄稿者で運用するには、非常に不便なため、寄稿者権限でもメディアをアップロードできるようにしたいと思います。
メディアをアップロードする方法
WordPress内のfunctions.phpを修正します。functions.phpはテーマ配下にありますので、例えば、/wp-content/themes/(使っているテーマ)/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');
}
上記のプログラムを追加で挿入することで、寄稿者でも画像アップロードできるように修正することができます。
いかがでしたでしょうか。プログラムの修正は必要ですが、上記のようにすることで寄稿者でも画像をアップロードできるようになりました。ぜひお試しください。