こんにちは、WPホームページ研究所の運営サポートチーム(@WP_LABO)です。
ワードプレスで会員サイト構築時にハマるポイント。カンタンに言えば「会員が記事を投稿できる機能」がある場合は権限周りも複雑になりがちです。たとえば「記事の公開作業は管理者承認を必要とする」なら会員側の権限は投稿者ではなく「寄稿者」に設定しておくケースがありますよね。
ワードプレスで寄稿者にメディアアップロード権限を持たせる
念のため寄稿者と投稿者の権限をまとめておきます。
管理画面の機能項目 | 寄稿者(contributor) | 投稿者(author) |
---|---|---|
投稿記事の新規作成 | ○ | ○ |
投稿レビュー待ち送信 | ○ | ○ |
投稿メディア(画像)の利用 | × | ○ |
投稿の公開 | × | ○ |
投稿カテゴリの編集 | × | × |
投稿タグの編集 | × | × |
寄稿者には「投稿の画像を使う権限」がないのが特徴です。
寄稿者にメディアのアップロード権限を追加する
以下をfunctions.phpに追記すればOK。細部を微調整すれば別のユーザー権限にも機能を付与できます。
if ( current_user_can('contributor') && !current_user_can('upload_files') ){
add_action('admin_init', 'allow_contributor_uploads_post_media_plus');
}
function allow_contributor_uploads_post_media_plus() {
$contributor = get_role('contributor');
$contributor->add_cap('upload_files');
}
権限削除の書き方について
ちなみにadd_capが権限を付与で、remove_capが権限を削除です。書き方は色々と変更してみてください。
function allow_contributor_uploads_post_media_plus() {
$contributor = get_role('contributor');
$contributor->add_cap('upload_files');
$contributor->remove_cap('delete_published_events');
}
最終的には「記事の公開権限」がポイントになりそうですね。管理者の承認作業を不要にするか必須とするかは会員ユーザーの質にもよって最適な運用方法は変わるので悩ましいところ。要検討かもしれません。
まとめ
本日は「ユーザーに特定の権限を付与する方法」を解説させていただきました。
以前に別の記事でご紹介した通り「管理者(編集者/投稿者/寄稿者)」と言っても各ユーザー権限で操作できるレベルが厳重に管理されています。権限の説明を書いた記事もぜひ併せてご参照くださいませ。
最新式の無料プラグインを事前公開
WordPressは公式サイトに登録済みのプラグインだけで全機能を補足しきれません。当サイトでは使いやすさを追求した魅惑的なプラグインを無料でダウンロードいただけます。運営ホームページのマーケティング力をさらに高めるチャンスです。まずは無料でDLしてお試しくださいませ。
→ 改良されたプラグインを確認する