WPBeginnerでは、通常、ウェブサイトのユーザーロールをカスタマイズしています。ユーザーにロールに必要なタスクのみを実行させることで、エラーの可能性を減らし、ウェブサイトのセキュリティを向上させることができると考えています。
読者の中には、複数著者で運営するWordPressブログで、著者が自分の投稿のみを表示・編集できるように制限できるかという質問がありました。プライバシーの観点から、公開されるまで他の著者の投稿を寄稿者に見られたくないと考えています。
これは間違いなく可能であり、この記事では、WordPressダッシュボードで著者が自分の投稿のみを表示および管理できるように制限する方法を簡単に紹介します。

著者に自分の投稿のみを制限する理由
デフォルトでは、WordPressウェブサイトのすべての投稿とページは、管理画面でのユーザーロールに関係なく、すべてのユーザーに表示されます。著者、編集者、寄稿者、管理者であっても、すべての記事を表示できます。
著者があなたの会社やチームの一員である場合、これは通常問題になりません。
しかし、特定の状況では、人々が自分の投稿のみを表示できるように制限することが役立ちます。たとえば、複数著者ウェブサイトを運営している場合、著者がレビュー中の他のライターの記事を見られないようにすることが役立ちます。
それでは、WordPress 管理画面で著者が自分の投稿のみを表示できるようにする方法を見てみましょう。この記事では次のトピックを扱います。
プラグインを使用して著者を自分の投稿のみに制限する
WordPressプラグインを使用すると、コードを編集せずに、著者が自分の投稿のみを表示できるように簡単に設定できます。
このチュートリアルでは、PublishPress Permissionsプラグインを使用します。これはWordPressの権限を管理できる無料のプラグインで、ライターが自分の記事のみを表示するように制限するためにすぐに機能します。
PublishPress Proバンドルにはプレミアムバージョンもあり、メディアライブラリに誰がアクセスできるかなど、より多くの権限設定を提供します。ただし、無料バージョンから始めることができます。
まず、PublishPress Permissionsプラグインをインストールして有効化する必要があります。詳細については、WordPressプラグインのインストール方法に関するガイドに従ってください。
プラグインがアクティブになると、自動的に著者とエディターが WordPress 管理エリアで自分の投稿のみを表示するように制限されます。
例えば、管理者の権限でログインし、ダッシュボードから 投稿 » 全投稿 に移動すると、すべての投稿が表示されます。

ただし、著者のアカウントからWordPress管理エリアにログインすると、著者が作成した投稿のみが表示されることに気づくでしょう。
他のユーザーが作成した投稿は表示されません。

さて、エディターがすべての投稿にアクセスできるようにして、レビューできるようにしたい場合はどうすればよいでしょうか?その方法を見てみましょう。
エディターがすべての投稿を表示できるようにする
上記の方法の問題点は、管理者がすべての投稿を表示できるだけであることです。
多くのWordPressサイトには、他の著者やゲスト寄稿者が提出した記事の校正を担当する編集者がいます。このプラグインを使用すると、編集者は自分の投稿のみに制限されます。
ただし、PublishPress Capabilitiesプラグインのようなプラグインを使用するか、サイトのテーマファイルにコードを追加することで、エディターが他の著者のコンテンツを確認できるようにすることができます。両方の方法を紹介します。
PublishPress Capabilitiesプラグインの使用
PublishPress Capabilitiesは、PublishPressによって作成された別のプラグインです。このチュートリアルのために、無料バージョンを使用します。PublishPress Proアカウントを購読すると入手できるプロバージョンもあります。
まず、WordPressウェブサイトにPublishPress Capabilitiesプラグインをインストールして有効化する必要があります。WordPressプラグインのインストール方法に関するステップバイステップガイドに従ってください。
プラグインがアクティブになったら、WordPress 管理メニューの 権限 をクリックします。これにより、「ロール権限」ページが開かれ、さまざまなユーザーロールの権限を変更できます。
次に、左上隅のドロップダウンメニューから編集したいユーザーの役割を選択します。

「エディター」ロールを選択したら、「編集機能」設定の下にある「他の人の編集」チェックボックスが有効になっていることを確認する必要があります。
これにより、エディターは他の投稿を編集できるようになります。

その後、[追加の機能]セクションまでスクロールし、「他の投稿を一覧表示する」チェックボックスが有効になっていることを確認してください。
この方法で、エディター権限を持つユーザーは他の著者の投稿を表示できるようになります。

設定を保存し、エディターとしてログインして、ウェブサイトの投稿セクションを表示してください。他の著者の投稿を表示および編集できる場合は、設定が正しくセットアップされていることを意味します。
テーマにカスタムコードを追加する
編集者がすべての投稿を表示できるようにする別の方法は、テーマファイルにカスタムコードを追加することです。ただし、この方法はコードの編集が含まれ、ウェブサイトが破損する可能性があるため、初心者にはお勧めしません。
開始するには、上級ユーザーはテーマのfunctions.phpファイルにこのコードを手動で追加できますが、WPCodeのようなコードスニペットプラグインの使用をお勧めします。
WPCode プラグインをインストールして有効化したら、WordPress ダッシュボードの コードスニペット » + スニペットを追加 ページに移動する必要があります。
そこに着いたら、「カスタムコードを追加 (新しいスニペット)」にマウスカーソルを合わせ、表示される「+ カスタムスニペットを追加」ボタンをクリックします。

これにより、カスタムコードスニペットを追加できるページが開きます。まず、スニペットが何をするかを説明するタイトルを付けます。たとえば、「エディターがすべての投稿を表示できるようにする」などです。
その後、次のコードスニペットをコードプレビューペインに貼り付ける必要があります。
function posts_for_current_author($query) {
global $pagenow;
if( 'edit.php' != $pagenow || !$query->is_admin )
return $query;
if( !current_user_can( 'edit_others_posts' ) ) {
global $user_ID;
$query->set('author', $user_ID );
}
return $query;
}
add_filter('pre_get_posts', 'posts_for_current_author');

次に、ドロップダウンメニューから「PHPスニペット」コードタイプを選択してください。
最後に、「アクティブ」設定をオンに切り替えてから、「スニペットの保存」ボタンをクリックしてコードを保存およびアクティブ化してください。

このコードは、他のユーザーの投稿を編集する権限を持つすべてのユーザーに、すべての投稿を表示させます。これは、エディターと管理者がすべての投稿を見ることができることを意味します。貢献者や著者のような他の役割を持つユーザーは、自分の投稿のみを表示できます。
詳細については、WordPressで何も壊さずにカスタムコードを追加する方法に関するガイドを参照してください。
カスタムユーザーロールを使用している場合、他のユーザーが追加した投稿を編集できるユーザーは、ダッシュボードにリストされているそれらを表示できることも覚えておく必要があります。
ボーナス:著者が特定の投稿またはページを表示できるように制限する
作成者、編集者、寄稿者、その他のユーザーロールに対して、特定のブログ投稿やページの表示、編集、削除を制限することもできます。
PublishPress Permissions プラグインを使用すると、ウェブサイトのダッシュボードで特定の投稿やページを誰が表示できるかを簡単に決定できます。
開始するには、ウェブサイトにPublishPress Permissionsプラグインをインストールして有効化してください。WordPressプラグインのインストール方法に関するチュートリアルを参照してください。
特定の記事は、ウェブサイトの編集者のみが編集できるようにし、他の誰も編集できないようにしたいとしましょう。
これを行うには、その投稿を編集できます。WordPressブロックエディターに入ったら、単に下にスクロールして「権限:この投稿を編集」メタボックスに移動します。
次に、他のすべてのユーザーロールのドロップダウンメニューをクリックし、「ブロック済み」オプションを選択する必要があります。デフォルトでは、権限は「デフォルト: はい」に設定されており、誰でも投稿を編集できます。
その後、エディターの設定が「有効」または「デフォルト:はい」オプションになっていることを確認してください。権限を設定したら、ブログ記事を必ず更新してください。

WordPressでユーザーロールの権限を変更するエキスパートガイド
この記事が、WordPress管理画面で作成者を自身の投稿のみに制限する方法を学ぶのに役立ったことを願っています。WordPressユーザーロールの権限を変更することに関連する他の記事もご覧になりたいかもしれません。
- WordPressでユーザーロールの機能を追加または削除する方法
- WordPress ユーザーの役割と権限に関する初心者ガイド
- 用語集:ユーザー権限
- 承認後に投稿者がWordPressの投稿を編集できるようにする方法
- エディターが特定のページのみを編集できるようにする方法
- WordPressで著者が投稿を削除できないようにする方法
- WordPressで著者が公開済みの投稿を編集できるようにする方法
- WordPressでメディアライブラリへのアクセスをユーザー自身のアップロードに制限する方法
- WordPressでブログユーザーにコメントをモデレートさせる方法
- WordPressでユーザーがコメントを編集できるようにする方法
この記事が気に入った場合は、WordPressのビデオチュートリアルのために、YouTubeチャンネルを購読してください。また、TwitterやFacebookでも私たちを見つけることができます。

アブ・バクル・シディク
Hello there, I really enjoy this website! I have a question. How to rescrict (limit, Hide) specific options or feature while Author Post New Product or Add News post. To be more clear; How to limit user from some option in “Add New Post” while publishing post. Sorry for my very bad English
WPBeginnerサポート
投稿者の権限をロールに基づいて制限したい場合は、以下のガイドをご覧ください。
https://www.wpbeginner.com/beginners-guide/wordpress-user-roles-and-permissions/
管理者
リー
こんにちは!
素晴らしい記事をありがとうございます。
CapabilitiesプラグインなしでPermissionsプラグインを使用できますか?
それとも、CapabilitiesプラグインはPermissionsプラグインの「ベース」として機能し、両方を一緒に使用する必要があるのでしょうか?
WPBeginnerサポート
一方を他方なしで使用できます。これらは、異なるユーザーレベルで利用可能な異なるオプションを変更します。
管理者
ライオネル
プラグインを削除するとどうなりますか?変更も削除されますか?すべてのユーザーはデフォルトに戻りますか、それともそれらのユーザーはPublishPressロールを削除するために特別な注意が必要ですか?ありがとうございます!
WPBeginnerサポート
プラグインを削除すると、プラグインの設定は元に戻ります。
管理者
Eslam Magdy
本当にありがとう、君!,,, 私にはうまくいきました
WPBeginnerサポート
当社の記事がお役に立てて嬉しいです!
管理者
イグナツィオ
本当に素晴らしいです、おめでとうございます。もしよろしければ、一つ質問させてください。このコードを変更して、下書きに関する投稿の表示と編集を作成者のみに制限するにはどうすればよいですか?
WPBeginnerサポート
ご希望の機能を実現するには、ロールの権限を変更するか、権限を付与する必要があるかもしれません。以下の権限に関する記事をご覧ください。
https://www.wpbeginner.com/beginners-guide/wordpress-user-roles-and-permissions/
管理者
ナオミ・ブランデマン
ありがとうございます!助かりました!
WPBeginnerサポート
You’re welcome
管理者
ダン・D
まさに探していたものです。カスタムコードは必要ありませんでした。
WPBeginnerサポート
Glad our guide was helpful
管理者
グート・ロックウェル
Works like a charm, many thanks
WPBeginnerサポート
Glad our guide could help
管理者
ザカリア
コードが完璧に機能しました。ありがとうございます!!!
WPBeginnerサポート
You’re welcome
管理者
ノリエル
推奨されているプラグインはすでに古いですが、他に信頼できるプラグインはありますか?
WPBeginnerサポート
この記事は2015年に最後に更新されました。代替案を探し、可能になり次第この記事を更新します。
管理者
フェルナンド・アウレリアーノ
すべての投稿タイプで機能しますか?
WPBeginnerサポート
プラグインを使用している場合は、その特定の質問についてはプラグインのサポートに問い合わせる必要があります。
管理者
ダウッド・デナヴィ
この記事で言及されているコードは、すべての投稿タイプで機能しますか?クライアントのサイトにはカスタム投稿タイプがいくつかあり、プラグインは機能しました。コードを追加した後、現時点ではサイトをテストする時間がありません。編集者がすべての投稿を表示できるようにしようとしています。
事前に感謝いたします!
Gulshan Kumar
現在ログインしているユーザーに応じてコメントをフィルタリングする方法は?
コントリビューターに対してすべてのコメントのリストを制限したいです。自分自身の投稿のみを表示およびモデレーションするオプションを許可したいです。
ロヒット・メワダ
同じ質問ですが、他のユーザーからのコメントも非表示にするにはどうすればよいですか?
ブランドン・エヴァンス
このプラグインには、非著者に「ページ」を非表示にする機能は含まれていますか?ここにリストされているすべてが投稿と言っていますが、ページも含まれますか?私たちのサイトは投稿よりもページを使用しています。
ラヴィジット
WordPressダッシュボードで貢献者からコメントを非表示にする方法???
トム
こんにちは、
特定の投稿タイプをそのクエリから除外する方法はありますか?
よろしくトム
サム
複数の管理者がいて、管理者が自分の投稿のみを見れるようにしたい場合はどうすればよいですか?
バリズラ
とても役に立ちました、ありがとう
チャーリー
うまく機能します。もう1つの問題は、他のユーザーの投稿数を引き続き表示することです。たとえば、現在のユーザーが公開済みの投稿を2つしか持っていない場合でも、公開済みの投稿が105件あると表示されます。
これを修正する方法について何かアイデアはありますか?
シャーウィン・ラナライン
何ヶ月も経ってからの返信になりますが、同じ問題を抱えている他の人のために返信します。functions.php にこれを追加してみてください。Wordpress.StackExchange.com で見つけたと思います >>
// 投稿数を削除
// 特定のフックを作成します
add_filter("views_edit-post", 'custom_editor_counts', 10, 1);
function custom_editor_counts($views) { // var_dump($views) を使用して、非表示にできる他の配列要素を確認します。 unset($views[‘all’]); unset($views[‘publish’]); unset($views[‘pending’]); unset($views[‘trash’]); return $views; }