WordPress管理画面で著者を自分の投稿のみに制限する方法

WPBeginnerでは、通常、ウェブサイトのユーザーロールをカスタマイズしています。ユーザーにロールに必要なタスクのみを実行させることで、エラーの可能性を減らし、ウェブサイトのセキュリティを向上させることができると考えています。

読者の中には、複数著者で運営するWordPressブログで、著者が自分の投稿のみを表示・編集できるように制限できるかという質問がありました。プライバシーの観点から、公開されるまで他の著者の投稿を寄稿者に見られたくないと考えています。

これは間違いなく可能であり、この記事では、WordPressダッシュボードで著者が自分の投稿のみを表示および管理できるように制限する方法を簡単に紹介します。

著者が自分の投稿のみに制限する方法

著者に自分の投稿のみを制限する理由

デフォルトでは、あなたのWordPressウェブサイトでは、管理画面において、ユーザーロールに関係なく、すべてのユーザーにすべての投稿とページが表示されます。著者、編集者、寄稿者、管理者であっても、すべての記事を表示できます。

著者があなたの会社やチームの一員である場合、これは通常問題になりません。

ただし、人々を自分の投稿のみを表示するように制限することは、特定の状況で役立ちます。たとえば、マルチアザーウェブサイトを実行している場合、著者がレビューで他のライターの記事を見るのを防ぐことは役立ちます。

それでは、WordPress 管理画面で著者が自分の投稿のみを表示できるようにする方法を見てみましょう。この記事では次のトピックを扱います。

  1. プラグインを使用して著者を自分の投稿のみに制限する
  2. エディターがすべての投稿を表示できるようにする
  3. ボーナス:著者が特定の投稿またはページを表示できるように制限する
  4. WordPressでユーザーロールの権限を変更するエキスパートガイド

プラグインを使用して著者を自分の投稿のみに制限する

WordPress プラグインを使用すると、著者がコードを編集せずに自分の投稿のみを表示できるように簡単に設定できます。

このチュートリアルでは、PublishPress Permissionsプラグインを使用します。これはWordPressの権限を管理できる無料のプラグインで、ライターを自分の記事に制限するためにすぐに機能します。

PublishPress Pro バンドルにはプレミアムバージョンもあり、メディアライブラリに誰がアクセスできるかなどの、より多くの権限設定を提供します。ただし、無料バージョンから始めることができます。

まず、PublishPress Permissions プラグインをインストールして有効化する必要があります。詳細については、WordPressプラグインのインストール方法に関するガイドをご覧ください。

プラグインがアクティブになると、自動的に著者とエディターが WordPress 管理エリアで自分の投稿のみを表示するように制限されます。

例えば、管理者の権限でログインし、ダッシュボードから 投稿 » 全投稿 に移動すると、すべての投稿が表示されます。

プラグインを有効にする前の投稿

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

他のユーザーが作成した投稿は表示されません。

作成者のみの投稿

さて、エディターがすべての投稿にアクセスできるようにして、レビューできるようにしたい場合はどうすればよいでしょうか?その方法を見てみましょう。

エディターがすべての投稿を表示できるようにする

上記の方法の問題点は、管理者がすべての投稿を表示できるだけであることです。

多くのWordPressサイトには、他の著者やゲスト寄稿者から提出された記事の校正を担当するエディターがいます。このプラグインを使用すると、エディターは自分の投稿のみに制限されます。

ただし、PublishPress Capabilitiesプラグインのようなプラグインを使用するか、サイトのテーマファイルにコードを追加することで、エディターが他の著者のコンテンツを確認できるようにすることができます。両方の方法を紹介します。

PublishPress Capabilitiesプラグインの使用

PublishPress Capabilities は、PublishPress が作成した別のプラグインです。このチュートリアルのため、無料版を使用します。PublishPress Pro アカウントを購読すると入手できるプロ版もあります。

まず、PublishPress CapabilitiesプラグインをWordPressウェブサイトにインストールして有効にする必要があります。WordPressプラグインのインストール方法については、ステップバイステップのガイドをご覧ください。WordPressプラグインのインストール方法

プラグインがアクティブになったら、WordPress 管理メニューの 権限 をクリックします。これにより、「ロール権限」ページが開かれ、さまざまなユーザーロールの権限を変更できます。

次に、左上隅のドロップダウンメニューから編集したいユーザーの役割を選択します。

ユーザーの役割の権限を選択

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

これにより、エディターは他の投稿を編集できるようになります。

他の人の編集を許可するチェックボックス

その後、[追加の機能]セクションまでスクロールし、「他の投稿を一覧表示する」チェックボックスが有効になっていることを確認してください。

この方法で、エディター権限を持つユーザーは他の著者の投稿を表示できるようになります。

他の投稿をリストするチェックボックスを有効にする

設定を保存し、エディターとしてログインして、ウェブサイトの投稿セクションを表示してください。他の著者の投稿を表示および編集できる場合は、設定が正しくセットアップされていることを意味します。

テーマにカスタムコードを追加する

エディターがすべての投稿を表示できるようにする別の方法は、テーマファイルにカスタムコードを追加することです。ただし、コードの編集が伴い、ウェブサイトが破損する可能性があるため、初心者にはこの方法は推奨しません。

開始するには、上級ユーザーは手動でこのコードをテーマのfunctions.phpファイルに追加できますが、WPCodeのようなコードスニペットプラグインの使用をお勧めします。

WPCode プラグインをインストールして有効化したら、WordPress ダッシュボードの コードスニペット » + スニペットを追加 ページに移動する必要があります。

そこに着いたら、「カスタムコードを追加 (新しいスニペット)」にマウスカーソルを合わせ、表示される「+ カスタムスニペットを追加」ボタンをクリックします。

WPCodeで新しいカスタムコードスニペットを追加する

これにより、カスタムコードスニペットを追加できるページが開きます。まず、スニペットが何をするかを説明するタイトルを付けます。たとえば、「エディターがすべての投稿を表示できるようにする」などです。

その後、次のコードスニペットをコードプレビューペインに貼り付ける必要があります。

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');
WPCodeスニペットを使用してエディターがすべての投稿を表示できるようにする

次に、ドロップダウンメニューから「PHPスニペット」コードタイプを選択してください。

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

WPCodeスニペットを使用してエディターがすべての投稿を表示できるようにする

このコードは、他のユーザーの投稿を編集する権限を持つすべてのユーザーに、すべての投稿を表示させます。これは、エディターと管理者がすべての投稿を見ることができることを意味します。貢献者や著者のような他の役割を持つユーザーは、自分の投稿のみを表示できます。

詳細については、WordPressにカスタムコードをサイトを壊さずに簡単に追加する方法に関するガイドをご覧ください。WordPressにカスタムコードを簡単に追加する方法(サイトを壊さずに)

サイトでカスタムユーザーロールを使用している場合、他のユーザーが追加した投稿を編集できるユーザーは、ダッシュボードにもそれらがリストされていることを覚えておく必要があります。

ボーナス:著者が特定の投稿またはページを表示できるように制限する

作成者、編集者、寄稿者、その他のユーザーロールに対して、特定のブログ投稿やページの表示、編集、削除を制限することもできます。

PublishPress Permissions プラグインを使用すると、ウェブサイトのダッシュボードで特定の投稿やページを誰が表示できるかを簡単に決定できます。

まず、PublishPress Permissionsプラグインをウェブサイトにインストールして有効にします。WordPressプラグインのインストール方法については、チュートリアルを参照してください。WordPressプラグインのインストール方法

特定の記事は、ウェブサイトの編集者のみが編集できるようにし、他の誰も編集できないようにしたいとしましょう。

そのためには、その投稿を編集できます。WordPressブロックエディターに入ったら、下へスクロールして「権限:この投稿を編集」メタボックスを見つけます。

次に、他のすべてのユーザーロールのドロップダウンメニューをクリックし、「ブロック済み」オプションを選択する必要があります。デフォルトでは、権限は「デフォルト: はい」に設定されており、誰でも投稿を編集できます。

その後、エディターの設定が「有効」または「デフォルト:はい」オプションになっていることを確認してください。権限を設定したら、ブログ記事を必ず更新してください。

特定の投稿を表示および編集する権限を変更する

WordPressでユーザーロールの権限を変更するエキスパートガイド

この記事が、WordPress管理画面で作成者を自身の投稿のみに制限する方法を学ぶのに役立ったことを願っています。WordPressユーザーロールの権限を変更することに関連する他の記事もご覧になりたいかもしれません。

この記事が気に入ったら、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読してください。 TwitterFacebookでもフォローできます。

開示:当社のコンテンツは読者によってサポートされています。これは、当社のリンクの一部をクリックすると、当社が手数料を得る可能性があることを意味します。WPBeginnerがどのように資金提供されているか、それがなぜ重要か、そしてどのように私たちをサポートできるかについては、こちらをご覧ください。当社の編集プロセスはこちらです。

究極のWordPressツールキット

無料のツールキットにアクセスしましょう - すべてのプロフェッショナルが持つべきWordPress関連の製品とリソースのコレクションです!

読者とのインタラクション

32 CommentsLeave a Reply

  1. 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 :(

  2. こんにちは!
    素晴らしい記事をありがとうございます。

    CapabilitiesプラグインなしでPermissionsプラグインを使用できますか?

    それとも、CapabilitiesプラグインはPermissionsプラグインの「ベース」として機能し、両方を一緒に使用する必要があるのでしょうか?

    • 一方を他方なしで使用できます。これらは、異なるユーザーレベルで利用可能な異なるオプションを変更します。

      管理者

  3. プラグインを削除するとどうなりますか?変更も削除されますか?すべてのユーザーはデフォルトに戻りますか、それともそれらのユーザーはPublishPressロールを削除するために特別な注意が必要ですか?ありがとうございます!

    • プラグインを削除すると、プラグインの設定は元に戻ります。

      管理者

  4. 本当に素晴らしいです、おめでとうございます。もしよろしければ、一つ質問させてください。このコードを変更して、下書きに関する投稿の表示と編集を作成者のみに制限するにはどうすればよいですか?

    • この記事は2015年に最後に更新されました。代替案を探し、可能になり次第この記事を更新します。

      管理者

    • プラグインを使用している場合は、その特定の質問についてはプラグインのサポートに問い合わせる必要があります。

      管理者

  5. この記事で言及されているコードは、すべての投稿タイプで機能しますか?クライアントのサイトにはカスタム投稿タイプがいくつかあり、プラグインは機能しました。コードを追加した後、現時点ではサイトをテストする時間がありません。編集者がすべての投稿を表示できるようにしようとしています。

    事前に感謝いたします!

  6. 現在ログインしているユーザーに応じてコメントをフィルタリングする方法は?

    コントリビューターに対してすべてのコメントのリストを制限したいです。自分自身の投稿のみを表示およびモデレーションするオプションを許可したいです。

  7. このプラグインには、非著者に「ページ」を非表示にする機能は含まれていますか?ここにリストされているすべてが投稿と言っていますが、ページも含まれますか?私たちのサイトは投稿よりもページを使用しています。

  8. 複数の管理者がいて、管理者が自分の投稿のみを見れるようにしたい場合はどうすればよいですか?

  9. うまく機能します。もう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; }

返信を残す

コメントを残していただきありがとうございます。すべてのコメントは、当社のコメントポリシーに従ってモデレーションされますので、ご了承ください。メールアドレスは公開されません。名前フィールドにキーワードを使用しないでください。個人的で有意義な会話をしましょう。