複数著者のWordPressブログを運営する中で直面した課題のひとつが、公開後の編集管理だ。
デフォルトでは、投稿者とゲストブロガーは公開した記事を編集することができません。これは、投稿者が誤字脱字を素早く修正したり、間違った情報を訂正したり、適切で役に立つ投稿を維持するために投稿を更新する必要がある場合に問題を引き起こす可能性があります。
この記事では、承認後に投稿者が投稿を編集できるようにする方法を紹介します。私たちが発見した、コンテンツ管理プロセスをよりスムーズにするソリューションをご紹介します。
なぜ寄稿者は承認後に投稿を編集できるのか?
複数著者のWordPressブログを運営している場合、寄稿者権限を持つ人は投稿を書き、レビュー用に送信することができます。管理者またはエディターの権限を持つユーザーは、これらの投稿を確認し、公開することができます。
一度投稿が公開されると、寄稿者はその投稿を編集することができません。これは、投稿者が最新の投稿に更新したり、エラーを修正するために自分の投稿を書き直す必要がある場合に問題を引き起こす可能性があります。
信頼できる寄稿者に投稿の編集を許可することで、編集ワークフローを改善し、エディターの時間を大幅に節約することができます。
それでは、WordPressサイトで寄稿者が公開した投稿を編集できるようにする方法を見ていきましょう。以下のクイックリンクから、お好きな方法を選んでください:
方法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' );
その後、ページを下にスクロールして「インサーター」セクションまで進む必要がある。
すでに選択されていない場合は、「自動インサーター」をクリックし、ドロップダウンメニューから「どこでも実行」を選択してください。
最後に画面を一番上までスクロールし、「Inactive」スライダーをクリックして「Active」と表示させる。
その後、「スニペットを保存」または「更新」ボタンをクリックするだけで、コード・スニペットが有効になります。
これで、投稿者権限を持つ人は誰でも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で異なるユーザーにパーソナライズされたコンテンツを表示する方法についてもご覧ください。
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
Joe Barrett
Where do you put this code if you won’t lose data when updating a theme and don’t want a plugin? Function.php or config.php?
WPBeginner Support
You would need to create a child theme and add the code to the child theme’s functions.php. We have a guide you can follow below for creating a child theme.
https://www.wpbeginner.com/wp-themes/how-to-create-a-wordpress-child-theme-video/
管理者
Jiří Vaněk
Is it possible to enable this at the level of specific accounts? For example, would I allow this option only for long-term contributors and not those who are on the site for a short time? Or is it only at the role level and not at the individual account level?
WPBeginner Support
You would need to create a role for what you are wanting to achieve
管理者
Jiří Vaněk
I understand, so I assume that a new user role will be created in WordPress (something like editor-senior and editor-junior) and I will continue based on these roles?
WPBeginner Support
You would need to create the role and add the permissions based on the role.