複数の著者がいる WordPress ブログを運営する上で直面した課題の 1 つは、投稿公開後の編集の管理です。
デフォルトでは、寄稿者やゲストブロガーは公開済みの投稿を編集できません。寄稿者がタイプミスを素早く修正したり、誤った情報を訂正したり、投稿を最新の状態に保って関連性と有用性を維持したりする必要がある場合、これは問題を引き起こす可能性があります。
この記事では、承認後に投稿者が自分の投稿を編集できるようにする方法を紹介します。コンテンツ管理プロセスを大幅にスムーズにした、私たちが発見したソリューションを共有します。

承認後に投稿者が自分の投稿を編集できるようにする理由
複数の著者がいるWordPressブログを実行している場合、投稿者の役割を持つユーザーは投稿を作成し、レビューのために提出できます。管理者または編集者のユーザー役割を持つユーザーは、これらの投稿をレビューして公開できます。
投稿が公開されると、投稿者はそれを編集できなくなります。投稿者が自分の投稿を最新の状態に保つために書き直したり、エラーを修正したりする必要がある場合、これは問題を引き起こす可能性があります。
信頼できる投稿者が自分の投稿を編集できるようにすることで、編集ワークフローを改善し、編集者の時間を大幅に節約できます。
それを踏まえて、WordPressサイトで投稿者が公開済みの投稿を編集できるようにする方法を見てみましょう。使用したい方法に直接ジャンプするには、以下のクイックリンクを使用してください。
- 方法1:WPCodeを使用して投稿者が公開済みの投稿を編集できるようにする(推奨)
- Method 2: Let Any User Role Edit Their Published Posts With PublishPress (Plugin Method)
方法1:WPCodeを使用して投稿者が公開済みの投稿を編集できるようにする(推奨)
公開済みの投稿を投稿者が編集できるようにする最も簡単な方法は、WordPressにカスタムコードを追加することです。
多くの場合、サイトの functions.php ファイルを編集する手順が記載されたガイドが見つかるでしょう。しかし、コードの小さなタイプミスや間違いは、一般的なWordPressのエラーを引き起こしたり、サイトを完全に破損させたりする可能性があります。
次回WordPressテーマを更新する際に、カスタムコードも失われます。
それを踏まえた上で、WPCode の使用をお勧めします。これは最高のコードスニペットプラグインであり、サイトを危険にさらすことなく WordPress にコードを追加できます。
まず、無料のWPCodeプラグインをインストールしてアクティブ化する必要があります。詳細については、WordPressプラグインのインストール方法に関するステップバイステップガイドをご覧ください。
プラグインが有効になったら、Code Snippets » Add Snippet に移動します。

ここでは、サイトに追加できるすべての既製のスニペットが表示されます。これには、新規ユーザー通知を無効にする、デフォルトのアイキャッチ画像を設定するなどのスニペットが含まれます。
カスタムスニペットを追加するには、「カスタムコードを追加(新規スニペット)」オプションの上にマウスカーソルを合わせ、「+カスタムスニペットを追加」ボタンが表示されたらクリックする必要があります。

次に、画面に表示されるオプションのリストから、コードタイプとして「PHPスニペット」を選択する必要があります。

次に、「カスタムスニペットの作成」ページで、コードスニペットのタイトルを入力します。
これは参考用ですので、好きなものを使用できます。

これが完了したら、次のコードをコードエディターに貼り付けるだけです。
// get the "contributor" role object
$obj_existing_role = get_role( 'contributor' );
// add the "Edit published posts" capability
$obj_existing_role->add_cap( 'edit_published_posts' );
その後、ページを下にスクロールして「挿入」セクションに移動する必要があります。
まだ選択されていない場合は、「自動挿入」をクリックし、ドロップダウンメニューで「すべて実行」を選択してください。

最後に、画面の上部までスクロールし、「非アクティブ」スライダーをクリックして「アクティブ」と表示させます。
次に、「スニペットを保存」ボタンをクリックするだけで、コードスニペットがライブになります。

これで、投稿者ロールを持つユーザーは、公開済みの投稿をあなたのWordPressウェブサイトで編集できるようになります。
方法 2: PublishPress (プラグイン方法) を使用して、任意のユーザーロールが公開済みの自分の投稿を編集できるようにする
投稿者に他の権限も与えたいですか?たとえば、投稿者が公開済みの投稿を編集および削除できるようにしたい場合があります。
他のユーザーから権限を追加または削除することも検討してください。
ユーザー権限を完全に制御したい場合は、PublishPress Capabilitiesの使用をお勧めします。このプラグインを使用すると、WordPressの寄稿者を含む、あらゆるユーザーロールから権限を追加および削除できます。
まず、PublishPress Capabilitiesプラグインをインストールして有効化する必要があります。詳細については、WordPressでプラグインをインストールする方法に関するステップバイステップガイドを参照してください。
有効化したら、WordPress管理画面のCapabilities » Capabilitiesにアクセスする必要があります。画面上部で、「Capabilities」ドロップダウンを開き、「Contributor」ユーザーロールを選択してください。

「編集」タブを選択できるようになりました。
ここでは、投稿者があなたのWordPressブログで公開済みのページや投稿を編集する権限を持っていないことがわかります。

権限を付与するには、編集する必要のある公開コンテンツに応じて、「投稿」または「固定ページ」のチェックボックスを選択します。
上記で説明したのと同じ手順で、さらに多くの権限を追加または削除できるようになりました。投稿者ロールの設定に満足したら、「変更を保存」ボタンをクリックします。
これが完了すると、投稿者はWordPressダッシュボードで公開済みの投稿を編集できるようになります。

これで、ユーザーアカウントを切り替える ことができ、投稿者が公開済みの投稿を編集するオプションを持っていることを確認できます。
この権限をいつでも削除したい場合は、上記の手順を繰り返してください。ただし、今回は「公開済みを編集」のチェックを外します。
PublishPress Capabilitiesプラグインを使用すると、他のWordPressユーザーロールの権限を編集することもできます。「User Capabilities」ドロップダウンメニューから新しいユーザーロールを選択するだけで、上記で説明した手順を繰り返します。

ユーザーロールと権限をカスタマイズするその他の方法を学ぶ
ユーザーロールの権限を自分の特定のニーズに合わせて追加またはカスタマイズしたいですか?まずはこれらのWordPressチュートリアルをご覧ください。
- WordPressにSEOエディターロールを追加する方法
- ユーザーロール別にWordPressページを制限する方法
- エディターが特定のページのみを編集できるようにする方法
- WordPress管理画面で投稿者を自分の投稿のみに制限する方法
- WordPressで著者が投稿を削除できないようにする方法
- WordPressで著者を特定のカテゴリに制限する方法
この記事が、承認後に投稿者が自分の投稿を編集できるようにする方法を学ぶのに役立ったことを願っています。また、WordPress の 最適なユーザー管理プラグイン や、WordPress で 異なるユーザーにパーソナライズされたコンテンツを表示する方法 に関するガイドも参照することをお勧めします。
この記事が気に入ったら、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読してください。 TwitterやFacebookでもフォローできます。


ジョー・バレット
テーマの更新時にデータが失われず、プラグインも使用したくない場合、このコードはどこに配置しますか?Function.php または config.php ですか?
WPBeginnerサポート
子テーマを作成し、コードを子テーマの functions.php に追加する必要があります。子テーマの作成については、以下のガイドを参照してください。
https://www.wpbeginner.com/wp-themes/how-to-create-a-wordpress-child-theme-video/
管理者
イジー・ヴァネック
特定のアカウントレベルでこれを有効にすることは可能ですか?例えば、サイトに短期間いるユーザーではなく、長期の寄稿者のみにこのオプションを許可しますか?それとも、個々のアカウントレベルではなく、ロールレベルのみですか?
WPBeginnerサポート
You would need to create a role for what you are wanting to achieve
管理者
イジー・ヴァネック
わかりました。WordPress で新しいユーザーロールが作成され(エディターシニアやエディタージュニアのようなもの)、これらのロールに基づいて続行すると仮定しますか?
WPBeginnerサポート
ロールを作成し、そのロールに基づいて権限を追加する必要があります。