WordPress・寄稿者権限でも画像をアップでき、かつそのアカウントの画像しか操作させない方法

公開日:

最終更新日:2023/10/11

複数の人間でワードプレスを投稿していて、かつ最終的に上席の方がチェックしてからリリースするという場合に、「寄稿者権限」を与えているケースも多々あるかと思います。

その場合寄稿者権限では画像のアップができません。

コンテンツの追加に画像が追加できないのでは、有益なコンテンツも作れません。
そんな時のために、寄稿者権限でも画像を追加できるようにする方法をお知らせします。

ソースはこちら

「外観」→「テーマエディター」の中の「function.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'); }

※function.phpは1つのミスでサイト丸ごと表示されなくなる可能性のあるファイルです。必ず事前にバックアップをとっておきましょう。

他の人がアップした画像を非表示にする

寄稿者権限で画像がアップできない。メディアボタンが無いのにも意味がありますね。

上記のソースコードだけでは、他の人がアップした画像もすべて表示され、編集できてしまいます。

そこで、アカウントごとに「その人のアップした画像しか編集できない、表示されない」ようにします。

以下のソースを同じくfunction.phpに追加してください。

function display_only_self_uploaded_medias( $query ) { if ( $user = wp_get_current_user() ) { $query['author'] = $user->ID; } return $query; } add_action( 'ajax_query_attachments_args', 'display_only_self_uploaded_medias' );

これで「寄稿者権限」でも画像がアップできるようになり、かつ、各アカウントごとに自分でアップした画像しか表示されない(編集できない)ようになりました。

権限がどうあれ、画像もたくさんアップして魅力的なブログを書いていってください!