WordPress

WordPressの寄稿者権限で画像アップやテンプレートを使えるようにする方法

2021年2月27日

ワードプレス

複数のサイトを運営していると自分1人だけでは、「時間が足りなくて記事を書けな...」なんてことありますよね?

アフィリエイターだけではなくて、企業のWebサイトを運営している管理者の方でもきっと悩んでいる課題だと思います!

この課題を解決する為に、みなさん外注化されると思いますが、僕も今この外注化に向けてマニュアル整備をしています^ ^

この外注さんに渡すようのマニュアルを作っている時に、課題となったのがWordPressの権限!

今回はこのWordPressの権限について書こうと思います。

WordPressの権限:いくつあるの?

WordPressの権限って何?

WordPressにはユーザー(担当者)ごとに、どの機能をどこまで使わせるか制限・制御することができます。

例えば記事作成担当の方が、WordPressの基本設定や重要な設定まで変更できてしまうと、勝手に変更される可能性があって困りますよね?

サイトを運営するにあたって不安や危険性を回避する為に、ユーザーごとに権限設定しておくとサイト運営が楽になります!

 

WordPressの権限:種類

WordPressに用意されている権限は5種類。

WordPressCodexには下記のように書かれています。

購読者:プロファイル管理のみを実行できるユーザー
寄稿者:自身の投稿を編集、管理できるが、発行はできないユーザー
投稿者:自身の投稿を発行、管理できるユーザー
編集者:他のユーザーの投稿を含むすべての投稿を発行、管理できるユーザー
管理者:すべての管理機能にアクセスできるユーザー

出典:WordPressCodexより

外注さんに記事を書いてもらう時に、慣れるまでは僕が記事の内容をチェックしてから公開したいと思っているので、記事作成が出来て公開が出来ない権限を選ぶとすると「寄稿者」になります。

ただ、ここで問題発生!

「寄稿者」だと画像のアップロードが出来ないんです!

「最悪画像はアップロード出来なくてもいいかな?」と思ったんですが、僕が使っているテンプレート挿入機能まで使えないことに...。

権限を投稿者にすれば、画像もアップロード出来てテンプレート挿入機能も使える。

ただ、記事の公開も自由に出来てしまう...。

いろいろ調べた結果、WordPressのfunction.phpにコードを追加すれば「寄稿者」のまま、画像をアップしたりテンプレート挿入機能まで使えるようになったので、その方法をご紹介します!

 

WordPressの権限:寄稿者権限を修正

プログラミング

ワードプレスの「外観」→「テーマエディター」の中から、「function.php」 に以下のソースを追加します。

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」 に以下のソースを追加します。

するとメディアをクリックしても他の人がアップした画像は表示されなくなります。

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' );

 

運用しているサイトによって、どこまで制限するかは違ってくると思うので、サイトに合った方法で試してみてください^ ^

 

-WordPress