複数の投稿者がいるWordPressサイトの管理には、独自の課題がつきものですが、そのひとつが、貴重なコンテンツが誤って削除されないようにすることです。
ブログ、ニュースサイト、マルチオーサープラットフォームのいずれを運営するにせよ、投稿を偶発的または意図的な削除から保護することは非常に重要です。
しかし、WordPressの初期設定では、投稿者はすでに公開した投稿であっても、自分の投稿を削除することができます。
この投稿では、WordPressで投稿者が自分の投稿を削除できないようにする方法を紹介します。これにより、サイトのセキュリティを強化し、コンテンツを完全にコントロールできるようになります。
カテゴリー:WordPressで投稿者が投稿を削除できないようにする理由とは?
WordPressには、強力なユーザー権限管理システムが搭載されています。WordPressサイトに登録されたユーザーには、それぞれ異なる権限を持つユーザーロールが割り当てられます。
author‘権限を持つユーザーは投稿を書き、サイトに公開することができます。この権限グループは一般的に複数著者のWordPressブログで使用されます。
投稿者はすでに公開した投稿も含め、自分の投稿を削除することもできます。
しかし、サイトオーナーとしては、投稿者が誤って投稿日後に削除されるのを防いだり、WordPressブログで公開するコンテンツや削除するコンテンツをコントロールするために、そのようなことができないようにしたいと思うかもしれません。
最も簡単な方法は、WordPressのユーザー権限グループを変更し、その権限を変更することです。
投稿者が自分の投稿を削除できないようにする簡単な方法を見てみましょう。
この投稿では2つの方法を紹介するが、以下のリンクから好きな方法にジャンプできる:
方法1:プラグインを使って投稿者が投稿を削除できないようにする。
投稿者が投稿を削除するのを防ぐ簡単な方法をお探しなら、この方法がお勧めです。
まず、PublishPress Capabilitiesプラグインをインストールして有効化する必要があります。詳細については、WordPressプラグインのインストール方法のステップバイステップガイドをご覧ください。
注: より多くの権限設定をコントロールするために、プラグイン用のPublishPress Proバンドルのプレミアムバージョンを使用することもできます。しかし、このチュートリアルでは無料プランでもご利用いただけます。
有効化したら、WordPressの管理サイドバーからCapabilities ” Capabilitiesページにアクセスしてください。
画面の左隅にある権限グループのドロップダウンメニューから「投稿者」オプションを選択してください。
次に、画面の左カラムにある「削除」タブに切り替える必要がある。
その後、’投稿’行の’削除’と’公開するを削除’オプションのチェックを外すだけです。
最後に「変更を保存」ボタンをクリックして、設定を保存します。
これで、WordPressサイトの投稿者は、すでに公開した投稿も削除できなくなります。
WordPressダッシュボードの投稿者ページはこのように表示されます:
権限を与える
ユーザー権限グループは明示的に定義されます。つまり、一度ユーザー権限グループからケーパビリティを削除すると、再度明示的に定義しない限り、元に戻ることはありません。プラグインをアンインストールしても、変更したケーパビリティは自動的に元に戻りません。
投稿者に削除権限を戻したい場合は、削除と公開する投稿のオプション設定の次のボックスにチェックを入れ、プロセスを繰り返す必要があります。
プラグインをアンインストールしてWordPressの初期設定に戻したい場合は、まずWordPressの管理ダッシュボードからCapabilities ” Backupページにアクセスする必要があります。
ここから「Reset Roles」タブに切り替え、「Reset to WordPress defaults」ボタンをクリックする。
これで、変更されたロール定義はすべて削除され、WordPressのユーザー権限グループは元の機能に戻ります。
方法2:WPCodeを使って投稿者が投稿を削除できないようにする。
カスタムコードを使用して投稿者が投稿を削除できないようにしたい場合は、この方法が適している。
テーマのfunctions.phpファイルにカスタムコードを簡単に追加することができます。しかし、小さなエラーでサイトが壊れてしまう可能性があることを覚えておいてください。
そのため、WPCodeを使用してWordPressサイトにカスタムコードを追加することをお勧めします。
カスタマイザーコードを超安全かつ簡単に追加できる、市場で最高のWordPressコードスニペットプラグインです。
まず、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');
その後、「インサーター」セクションまでスクロールダウンし、「自動挿入」モードを選択する。
有効化したコードは自動的に実行されます。
次に、ページを一番上までスクロールし、スイッチを「有効化」に切り替える。
最後に「Save Snippet」ボタンをクリックし、WordPressサイトにコードを保存して実行します。
このコードは投稿者ユーザーの権限を変更し、投稿を削除する機能を削除します。
WordPressダッシュボードの投稿者ページはこのように表示されます:
WPCodeで権限を戻す
何らかの理由で、投稿者に自分の投稿を削除する機能を再度提供したい場合、WPCodeでそれを行うこともできます。
まず、WordPressダッシュボードからCode Snippetsページにアクセスし、作成したコードスニペットの横にあるスイッチを「Inactive」に切り替えます。
しかし、コードを無効化しただけでは、何の変化もありません。あなたのサイトに新しいコード・スニペットを追加する必要があります。
これを行うには、WordPressダッシュボードからCode Snippets ” + Add Snippetページにアクセスし、’Add Your Custom Code (New Snippet)’オプションの’Use 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権限を使用することができます。
有効化した場合、プラグインは自動的に投稿者とエディターを制限し、WordPress管理エリアで自分の投稿のみを表示するようにします。
しかし、エディターが異なる投稿者の投稿をレビューできるようにしたい場合は、PublishPress Capabilitiesを使用する必要があります。詳しい手順は、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.
Mohsin Uddin
Hi i am very greatful on all the content you create on this site, i have always found it extremely useful and a go to point for any problems i face…i am little stuck with my wp site at the moment and really hope you can shed some light on the matter.
I want to create a site where there are buyers and sellers.
Firstly i wanted buyers to register and be allowed to see content after they have paid..also theh need to be able to upload a few pictures.
Secondly i wanted sellers to register and also be able to post after they paid. And have access to restricted content.
For both users they can register or on seperate pages or select from a drop down menu that a person is a seller or buyer.
Once selected as a buyer, buyer should be able to select a category of interest.
I wanted the sellers account to automatically be have a certain user role and same for buyers.
Is this possible or would i need to handle every user role manually.
I would like users to have their own dashboard where they can upload items for sale etc..
I really hope you can help thanks in advance.