複数の著者がいるWordPressサイトを管理するには、貴重なコンテンツが誤って削除されないようにするなど、独自の課題があります。
しかし、デフォルトでは、WordPressでは、公開済みの投稿であっても、著者が自身の投稿を削除することを許可しています。
WPBeginner では、誤って削除するリスクを理解しています。そのため、著者の削除機能を無効にしています。これにより、誤ってコンテンツを失うことを防ぎ、すべてを安全に保ちます。
この記事では、WordPressで著者が自分の投稿を削除できないようにする方法を簡単に紹介します。これにより、サイトのセキュリティが向上し、コンテンツの管理に役立ちます。

WordPressで著者が自分の投稿を削除できないようにする理由
WordPressには、強力なユーザーロール管理システムが付属しています。ウェブサイトの各登録ユーザーには、異なる権限を持つユーザーロールが割り当てられています。
「著者」の権限を持つユーザーは、ウェブサイトに投稿を書き込み、公開することができます。この権限は、通常、複数著者のWordPressブログで使用されます。
著者は、既に公開されているものも含め、自身の投稿を削除することもできます。
ただし、ウェブサイトの所有者としては、誤って投稿が削除されるのを防ぐため、またはWordPressブログで公開または削除されるコンテンツを制御するために、著者がそのようなことをするのを防ぎたい場合があります。
その最も簡単な方法は、著者ユーザーロールを変更し、WordPressでその権限を変更することです。
作成者が自身の投稿を削除できないようにする方法を簡単に見てみましょう。
この記事では、2つの方法を紹介します。お好みの方法にジャンプするには、以下のリンクを使用してください。
方法1:プラグインを使用して著者が投稿を削除できないようにする
著者が投稿を削除できないようにする簡単な方法を探しているなら、この方法が最適です。
まず、PublishPress Capabilities プラグインをインストールして有効化する必要があります。詳細については、WordPressプラグインのインストール方法に関するステップバイステップガイドをご覧ください。
📒 注意: プラグインのPublishPress Proバンドルでもプレミアムバージョンを使用でき、より多くの権限設定を制御できます。ただし、このチュートリアルでは無料プランでも問題ありません。
有効化したら、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ダッシュボードから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で著者が自分の投稿を削除できないようにする方法を学ぶのに役立ったことを願っています。また、WordPressでユーザーごとにパーソナライズされたコンテンツを表示する方法に関する究極のステップバイステップガイドや、WordPressのベストユーザー管理プラグインの専門家による選び方もご覧ください。
この記事が気に入ったら、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読してください。 TwitterやFacebookでもフォローできます。
kzain
複数の著者がいるブログで、著者が誤って投稿を削除してしまう問題が発生し、私とチームにとって頭痛の種となっていました。「delete_posts」の権限があることを知らなかったので、そのヒントを共有していただきありがとうございます。すでにRole Editorプラグインを使用して解決策を実装しており、安心しています。誤って削除された投稿を復元する方法についての注意点を追加すると役立つかもしれません。役立つチュートリアルをありがとうございました。
WPBeginnerサポート
Thank you for the suggestion!
管理者
Mohsin Uddin
このサイトで作成されているすべてのコンテンツに大変感謝しています。常に非常に役立つ情報源であり、問題に直面した際の頼りになる場所です…現在、WPサイトで少し行き詰まっており、この件について何かご助言いただければ幸いです。
購入者と販売者がいるサイトを作成したいです。
まず、購入者に登録してもらい、支払い後にコンテンツを表示できるようにしたかったのです。また、彼らは数枚の写真をアップロードできる必要がありました。
次に、販売者が登録し、支払い後に投稿できるようにしたいと思いました。そして、制限されたコンテンツにアクセスできるようにしたいと思いました。
両方のユーザーは、登録するか、個別のページで登録するか、またはドロップダウンメニューから、その人が販売者または購入者であることを選択できます。
購入者として選択されたら、購入者は興味のあるカテゴリを選択できるようになる必要があります。
販売者のアカウントには自動的に特定のユーザーロールが付与され、購入者も同様になるようにしたかったのです。
これは可能ですか、それともすべてのユーザーロールを手動で処理する必要がありますか。
ユーザーが販売用アイテムなどをアップロードできる独自のダッシュボードを持たせたいと考えています。
どうぞよろしくお願いいたします。