複数の著者がいるウェブサイトの運営には多くの信頼が必要ですが、多くの人が関わると事故が起こりがちです。経験豊富なライターでさえ、下書きを削除しようとして公開済みの投稿を誤って削除してしまうことがあることを私たちはすぐに学びました。
デフォルトでは、WordPressは著者に自分のコンテンツを削除する完全な権限を与えますが、これはサイトの履歴にとって危険な場合があります。この設定は、回復が困難なコンテンツの誤った損失につながることがよくあります。
WPBeginnerでは、この問題を回避するためにユーザー権限を変更し、エディターと管理者にのみ公開記事を削除できるようにしています。この設定により、コンテンツは安全に保たれ、安心して運営できます。
この記事では、WordPressで著者が自分の投稿を削除できないようにする方法を説明します。

WordPressで著者が自分の投稿を削除できないようにする理由
WordPressには、強力なユーザーロール管理システムが付属しています。ウェブサイトの各登録ユーザーには、異なる権限を持つユーザーロールが割り当てられています。
「著者」の権限を持つユーザーは、ウェブサイトに投稿を書き込み、公開することができます。この権限は、通常、複数著者のWordPressブログで使用されます。
著者は、既に公開されているものも含め、自身の投稿を削除することもできます。
ただし、ウェブサイトの所有者としては、誤って投稿が削除されるのを防ぐため、またはWordPressブログで公開または削除されるコンテンツを制御するために、著者がそのようなことをするのを防ぎたい場合があります。
その最も簡単な方法は、著者ユーザーロールを変更し、WordPressでその権限を変更することです。
作成者が自身の投稿を削除できないようにする方法を簡単に見てみましょう。
この記事では、2つの方法を紹介します。お好みの方法にジャンプするには、以下のリンクを使用してください。
- 方法1:プラグインを使用して著者が投稿を削除できないようにする
- 方法2:WPCodeを使用して著者が自分の投稿を削除できないようにする
- ボーナス:WordPressで著者に自分の投稿のみを制限する
- 投稿の削除を防ぐことに関するよくある質問
- 追加リソース
方法1:プラグインを使用して著者が投稿を削除できないようにする
著者が投稿を削除できないようにする簡単な方法を探しているなら、この方法が最適です。
まず、PublishPress Capabilities プラグインをインストールして有効化する必要があります。詳細については、WordPressプラグインのインストール方法に関するステップバイステップガイドをご覧ください。
📒 注意: プラグインのPublishPress Proバンドルでもプレミアムバージョンを使用でき、より多くの権限設定を制御できます。ただし、このチュートリアルでは無料プランでも問題ありません。
有効化したら、WordPress管理サイドバーから**機能 » 機能**ページに移動します。
そこに着いたら、画面左隅のロール機能ドロップダウンメニューから「作成者」オプションを選択します。

次に、画面左側の列にある「削除」タブに切り替える必要があります。
その後、「投稿」行から「削除」および「公開済み削除」オプションのチェックを外すだけです。
最後に、「変更を保存」ボタンをクリックして設定を保存します。

これで、WordPressサイトの著者は、公開済みの投稿であっても、自分の投稿を削除できなくなります。
WordPressダッシュボードの投稿ページは、著者の皆様にとって次のようになります。

権限を戻す
ユーザーロールに加えられた変更は、WordPressデータベースに永続的に保存されます。これは、プラグインを無効化またはアンインストールしても、設定が自動的にデフォルトに戻らないことを意味します。変更を元に戻すには、手動で権限を戻す必要があります。
著者に削除の許可を与えたい場合は、プロセスを繰り返して、[削除] および [公開済み投稿の削除] オプションの横にあるチェックボックスをオンにする必要があります。
プラグインをアンインストールしてデフォルトのWordPress権限に戻したい場合は、まずWordPress管理ダッシュボードからCapabilities » Backupページにアクセスする必要があります。
ここから、「ロールをリセット」タブに切り替え、「WordPressのデフォルトにリセット」ボタンをクリックします。
これで、変更されたすべてのロール定義が削除され、WordPressのユーザーロールは元の権限に戻ります。

注意: これらの権限を削除すると、著者の「ゴミ箱」リンクが非表示になります。投稿をゴミ箱に移動できなくなります。
方法2:WPCodeを使用して著者が自分の投稿を削除できないようにする
カスタムコードを使用して作成者が投稿を削除できないようにしたい場合は、この方法が最適です。
テーマの functions.php ファイルにカスタムコードを簡単に追加できます。ただし、わずかなエラーでもウェブサイトが破損する可能性があることに注意してください。
そのため、カスタムコードをWordPressサイトに追加するには、WPCodeを使用することをお勧めします。
徹底的なテストの結果、これは市場で最高のWordPressコードスニペットプラグインであると結論付けました。カスタムコードの追加が非常に安全かつ簡単になります。このツールでの経験について詳しく知るには、WPCodeレビューをご覧ください。
まず、WPCodeプラグインをインストールして有効化する必要があります。詳細な手順については、WordPressプラグインのインストール方法に関する初心者向けガイドをご覧ください。
📒 注: WPCode には、このチュートリアルで使用できる無料バージョンがあります。ただし、プロバージョンにアップグレードすると、コードスニペットのクラウドライブラリ、条件付きロジックなどの機能にアクセスできるようになります。
有効化したら、WordPress管理画面のサイドバーから Code Snippets » + Add Snippet ページに移動してください。
そこに着いたら、「カスタムコードを追加(新規スニペット)」オプションの下にある「+カスタムスニペットを追加」ボタンをクリックするだけです。

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

これにより、「カスタムスニペットの作成」ページが開きます。ここで、コードスニペットの名前を入力することから始めることができます。

次に、次のコードを「コードプレビュー」ボックスにコピーして貼り付けます。
function wpb_change_author_role(){
global $wp_roles;
$wp_roles->remove_cap( 'author', 'delete_posts' );
$wp_roles->remove_cap( 'author', 'delete_published_posts' );
}
add_action('init', 'wpb_change_author_role');
その後、「挿入」セクションまでスクロールダウンし、「自動挿入」モードを選択します。
コードは、有効化すると自動的に実行されます。

次に、ページの上部までスクロールし、スイッチを「アクティブ」に切り替えます。
最後に、「スニペットを保存」ボタンをクリックして、コードをWordPressサイトに保存して実行します。

このコードは、著者のユーザーロールを変更し、自分の投稿を削除する機能を削除します。
WordPressダッシュボードの投稿ページは、著者にとって次のようになります。

WPCodeで権限を元に戻す
何らかの理由で、著者に自分の投稿を再度削除する機能を提供したい場合は、WPCodeでもそれが可能です。
まず、WordPressダッシュボードからコードスニペットページにアクセスし、作成したコードスニペットの横にあるスイッチを「非アクティブ」に切り替える必要があります。

ただし、コードを無効化するだけでは設定はWordPressデータベースに保存されているため、変更は行われません。これらの変更を元に戻すには、設定を再度更新するために新しいコードスニペットを追加する必要があります。
これを行うには、WordPressダッシュボードからCode Snippets » + Add Snippetページにアクセスします。
次に、「カスタムコードを追加(新規スニペット)」オプションの下にある「+カスタムスニペットを追加」ボタンをクリックします。

次に、オプションのリストからコードタイプとして「PHPスニペット」を選択します。
次に、「カスタムスニペットの作成」ページに移動します。ここでスニペットの名前を入力する必要があります。
その後、以下のコードを「コードプレビュー」ボックスにコピー&ペーストするだけです。
function wpb_change_author_role(){
global $wp_roles;
$wp_roles->add_cap( 'author', 'delete_posts' );
$wp_roles->add_cap( 'author', 'delete_published_posts' );
}
add_action('init', 'wpb_change_author_role');
コードを貼り付けたら、「挿入」セクションまでスクロールし、「自動挿入」モードを選択します。
コードは、有効化されると自動的に著者の削除機能を付加します。

最後に、画面右上隅にあるスイッチを「アクティブ」に切り替え、「スニペットの保存」ボタンをクリックします。
これで、著者は以前のようにWordPressで自分の投稿を削除できるようになります。

ボーナス:WordPressで著者に自分の投稿のみを制限する
作成者が投稿を削除できないようにするだけでなく、WordPressで作成者に投稿を制限することもできます。これにより、作成者は自身が書いた投稿のみを編集、プレビュー、公開できるようになります。
マルチ著者ブログを実行している場合や、ゲスト投稿を許可している場合は、これは非常に役立ちます。これにより、ライターは自分の仕事に集中でき、組織の明確さが向上します。
作成者を自身の投稿に制限するには、PublishPress Permissionsを使用できます。
設定が完了すると、プラグインは著者がWordPress管理画面で自分の投稿のみを表示するように制限できます。

ただし、エディターが他の作成者の投稿を確認できるようにしたい場合は、PublishPress Capabilitiesを使用する必要があります。
詳細な手順については、WordPress管理画面で著者が自分の投稿のみを制限する方法に関するチュートリアルをご覧ください。WordPress管理画面で著者が自分の投稿のみを制限する方法。
投稿の削除を防ぐことに関するよくある質問
多くのユーザーがWordPressでのユーザー権限の変更に関する詳細について私たちに尋ねてきます。ここでは、最も一般的な質問に対する回答を示します。
1. 投稿の削除を防ぐことで、著者が投稿を編集できなくなりますか?
いいえ、削除機能を無効にしても、著者がコンテンツを編集できなくなるわけではありません。著者は公開済みの投稿を編集・更新できますが、保存または公開済みの投稿をゴミ箱に移動できなくなるだけです。
2. 投稿の削除を防ぐために、投稿者(Contributor)ロールを使用できますか?
はい、ユーザーを投稿者(Contributor)ロールに切り替えると、公開済みの投稿を削除できなくなりますが、ワークフローも変更されます。投稿者は自分で投稿を公開できず、レビューのために提出する必要があります。コンテンツを削除するリスクなしに自由に投稿させたい場合は、著者のままにして、特定の権限を変更する必要があります。
3. これらの制限は管理者(Administrator)または編集者(Editor)に適用されますか?
いいえ、これらの変更は「著者(Author)」ユーザーロールにのみ影響します。管理者および編集者は、他のユーザーが作成した投稿を削除する機能を含め、サイトコンテンツに対する完全な制御を維持します。
4. 後で権限の変更を元に戻すことは可能ですか?
はい、これらの変更は簡単に元に戻すことができます。プラグインを使用した場合は、削除権限のチェックボックスを再度オンにできます。コードスニペットを使用した場合は、制限的なコードを無効にし、デフォルトのWordPress機能を復元するスニペットを実行できます。
5. 著者が投稿を削除しようとした場合に追跡する方法はありますか?
標準のWordPress設定では、ブロックされたアクションは追跡されません。ただし、WP Activity Logのようなアクティビティログプラグインを使用して、成功した変更を監視し、サイトでの一般的なユーザーの行動を追跡できます。
追加リソース
作成者の権限をカスタマイズしたので、WordPressチームとサイトのセキュリティの管理についてさらに詳しく知りたいかもしれません。以下に推奨するその他のガイドを示します。
- WordPress ユーザーの役割と権限に関する初心者ガイド
- WordPressでのユーザーアクティビティをセキュリティ監査ログで監視する方法
- WordPress管理画面で著者を自分の投稿のみに制限する方法
- WordPressでユーザーロールの機能を追加または削除する方法
- マルチユーザーWordPressブログで編集ワークフローを改善する方法
この記事が、WordPressで著者が自分の投稿を削除できないようにする方法を学ぶのに役立ったことを願っています。また、WordPressでユーザーごとにパーソナライズされたコンテンツを表示する方法に関する究極のステップバイステップガイドや、WordPressのベストユーザー管理プラグインの専門家による選び方もご覧ください。
この記事が気に入ったら、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読してください。 TwitterやFacebookでもフォローできます。
kzain
複数の著者がいるブログで、著者が誤って投稿を削除してしまう問題が発生し、私とチームにとって頭痛の種となっていました。「delete_posts」の権限があることを知らなかったので、そのヒントを共有していただきありがとうございます。すでにRole Editorプラグインを使用して解決策を実装しており、安心しています。誤って削除された投稿を復元する方法についての注意点を追加すると役立つかもしれません。役立つチュートリアルをありがとうございました。
WPBeginnerサポート
Thank you for the suggestion!
管理者
Mohsin Uddin
このサイトで作成されているすべてのコンテンツに大変感謝しています。常に非常に役立つ情報源であり、問題に直面した際の頼りになる場所です…現在、WPサイトで少し行き詰まっており、この件について何かご助言いただければ幸いです。
購入者と販売者がいるサイトを作成したいです。
まず、購入者に登録してもらい、支払い後にコンテンツを表示できるようにしたかったのです。また、彼らは数枚の写真をアップロードできる必要がありました。
次に、販売者が登録し、支払い後に投稿できるようにしたいと思いました。そして、制限されたコンテンツにアクセスできるようにしたいと思いました。
両方のユーザーは、登録するか、個別のページで登録するか、またはドロップダウンメニューから、その人が販売者または購入者であることを選択できます。
購入者として選択されたら、購入者は興味のあるカテゴリを選択できるようになる必要があります。
販売者のアカウントには自動的に特定のユーザーロールが付与され、購入者も同様になるようにしたかったのです。
これは可能ですか、それともすべてのユーザーロールを手動で処理する必要がありますか。
ユーザーが販売用アイテムなどをアップロードできる独自のダッシュボードを持たせたいと考えています。
どうぞよろしくお願いいたします。