Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Cup
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

カテゴリー:WordPressで投稿者が投稿を削除しないようにする方法

複数の投稿者がいるWordPressサイトの管理には、独自の課題がつきものですが、そのひとつが、貴重なコンテンツが誤って削除されないようにすることです。

しかし、WordPressの初期設定では、投稿者はすでに公開した投稿であっても、自分の投稿を削除することができます。

WPBeginnerでは、誤って削除してしまうリスクを理解しています。そのため、投稿者の削除機能を無効化しています。これにより、偶発的なコンテンツの損失を防ぎ、すべてを安全に保つことができます。

この投稿では、WordPressで投稿者が自分の投稿を削除できないようにする方法を紹介します。これにより、サイトのセキュリティが向上し、コンテンツをコントロールしやすくなります。

How to prevent authors from deleting posts in WordPress

カテゴリー:WordPressで投稿者が投稿を削除できないようにする理由とは?

WordPressには強力なユーザー権限管理システムが搭載されています。サイトに登録されたユーザーには、それぞれ異なる権限を持つユーザーロールが割り当てられます。

author’権限を持つユーザーは投稿を書き、サイトに公開することができます。この権限グループは一般的に複数著者のWordPressブログで使用されます。

投稿者はすでに公開した投稿も含め、自分の投稿を削除することもできます。

しかし、サイトオーナーとしては、投稿者が誤って投稿日後に削除されるのを防いだり、WordPressブログで公開するコンテンツや削除するコンテンツをコントロールするために、そのようなことができないようにしたいと思うかもしれません。

最も簡単な方法は、WordPressのユーザー権限グループを変更し、その権限を変更することです。

投稿者が自分の投稿を削除できないようにする簡単な方法を見てみましょう。

この投稿では2つの方法を紹介するが、以下のリンクから好きな方法にジャンプできる:

方法1:プラグインを使って投稿者が投稿を削除できないようにする。

投稿者が投稿を削除するのを防ぐ簡単な方法をお探しなら、この方法がお勧めです。

まず、PublishPress Capabilitiesプラグインをインストールして有効化する必要があります。詳細については、WordPressプラグインのインストール方法のステップバイステップガイドをご覧ください。

📒注意: より多くの権限設定をコントロールするために、プラグイン用のPublishPress Proバンドルのプレミアムバージョンを使用することもできます。しかし、このチュートリアルでは無料プランもご利用いただけます。

有効化したら、WordPressの管理サイドバーからCapabilities ” Capabilitiesページにアクセスしてください。

画面の左隅にある権限グループのドロップダウンメニューから「投稿者」オプションを選択してください。

Choose the Author option from the role capabilities dropdown menu

次に、画面の左カラムにある「削除」タブに切り替える必要がある。

その後、’投稿’行の’削除’と’公開するを削除’オプションのチェックを外すだけです。

最後に「変更を保存」ボタンをクリックして、設定を保存します。

Switch to the deletion tab and uncheck the delete options

これで、WordPressサイトの投稿者は、すでに公開した投稿も削除できなくなります。

WordPressダッシュボードの投稿者ページはこのように表示されます:

Preventing authors from deleting their posts

権限を与える

ユーザー権限グループは明示的に定義されます。つまり、一度ユーザー権限グループからケーパビリティを削除すると、再度明示的に定義しない限り、元に戻ることはありません。プラグインをアンインストールしても、変更したケーパビリティは自動的に元に戻りません。

投稿者に削除権限を戻したい場合は、削除と公開する投稿のオプション設定の次のボックスにチェックを入れ、プロセスを繰り返す必要があります。

プラグインをアンインストールしてWordPressの初期設定に戻したい場合は、まずWordPressの管理ダッシュボードからCapabilities ” Backupページにアクセスする必要があります。

ここから「Reset Roles」タブに切り替え、「Reset to WordPress defaults」ボタンをクリックする。

これで、変更されたロール定義はすべて削除され、WordPressのユーザー権限グループは元の機能に戻ります。

Click Reset to WordPress defaults button

方法2:WPCodeを使って投稿者が投稿を削除できないようにする。

カスタムコードを使用して投稿者が投稿を削除できないようにしたい場合は、この方法が適している。

テーマのfunctions.phpファイルにカスタムコードを簡単に追加することができます。しかし、小さなエラーでサイトが壊れてしまう可能性があることを覚えておいてください。

そのため、WPCodeを使用してWordPressサイトにカスタムコードを追加することをお勧めします。

徹底的なテストの結果、このプラグインは市場で最高のWordPressコードスニペットプラグインであるという結論に達しました。それはカスタムコードを追加するための超安全かつ簡単になります。さらに詳しく知りたい方は、WPCodeのレビューをご覧ください。

まず、WPCodeプラグインをインストールし、有効化する必要があります。詳しい手順については、WordPressプラグインのインストール方法についての初心者ガイドをご覧ください。

注:WPCodeにはこのチュートリアルで使用できる無料版があります。しかし、プロバージョンにアップグレードすると、コードスニペットのクラウドライブラリ、条件ロジックなどの機能を利用できるようになります。

有効化したら、WordPressの管理サイドバーからCode Snippets ” + Add Snippetのページにアクセスしてください。

カスタムコードを追加(新規スニペット)」設定の下にある「+カスタム・スニペットを追加」ボタンをクリックします。

Adding Custom Code in WPCode

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

Select PHP Snippet as the code type

カスタムスニペットの作成」ページが開きますので、まずはコードタイプ名を入力してください。

Paste the code snippet to prevent authors from deleting posts

次に、以下のコードをコピー&ペーストして「コード・プレビュー」ボックスに入れてください:

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');

その後、「インサーター」セクションまでスクロールダウンし、「自動挿入」モードを選択する。

有効化したコードは自動的に実行されます。

Choose auto insert mode

次に、ページを一番上までスクロールし、スイッチを「有効化」に切り替える。

最後に「Save Snippet」ボタンをクリックし、WordPressサイトにコードを保存して実行します。

Save snippet for preventing authors to delete a post

このコードは投稿者ユーザーの権限を変更し、投稿を削除する機能を削除します。

WordPressダッシュボードの投稿者ページはこのように表示されます:

Preventing authors from deleting their posts

WPCodeで権限を戻す

何らかの理由で、投稿者に自分の投稿を削除する機能を再度提供したい場合、WPCodeでそれを行うこともできます。

まず、WordPressダッシュボードからCode Snippetsページにアクセスし、作成したコードスニペットの横にあるスイッチを「Inactive」に切り替えます。

Deactivate code snippet

しかし、コードを無効化しただけでは、何の変化もありません。あなたのサイトに新しいコード・スニペットを追加する必要があります。

これを行うには、WordPressダッシュボードからCode Snippets ” + Add Snippetページにアクセスします。

次に、「カスタムコードを追加(新規スニペット)」設定の下にある「+カスタム・スニペットを追加」ボタンをクリックします。

Adding Custom Code in WPCode

次に、オプションのリストからコードタイプとして「PHP Snippet」を選択する。

カスタムスニペットの作成」ページが表示されますので、スニペット名を入力してください。

その後、以下のコードをコピー&ペーストして「コード・プレビュー」ボックスに入れてください:

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');

コードを貼り付けたら、「インサーター」セクションまでスクロールダウンし、「自動挿入」モードを選択する。

有効化した時点で、投稿者の削除機能が自動的に追加されます。

Choose auto insert mode

最後に、画面右上のスイッチを有効化に切り替え、「スニペットを保存」ボタンをクリックする。

投稿者は以前のようにWordPressで自分の投稿を削除できるようになります。

Save snippet for allowing post deletion

ボーナス:WordPressで投稿者を限定する

投稿者が投稿を削除できないようにする以外に、WordPressで投稿者を自分の投稿に限定することもできます。こうすることで、投稿者は自分で書いた投稿だけを編集、プレビュー、公開することができるようになります。

複数著者によるブログを運営したり、ゲスト投稿を許可している場合、これは非常に役立つ。ライターが自分の仕事に集中することを促し、組織の明瞭さを向上させる。

投稿者を投稿に制限するには、PublishPress権限を使用することができます。

有効化した場合、プラグインは自動的に投稿者とエディターを制限し、WordPress管理エリアで自分の投稿のみを表示するようにします。

Posts by only the author

しかし、エディターが異なる投稿者からの投稿をレビューできるようにしたい場合は、PublishPressの権限を使用する必要があります。

詳しい手順は、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.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us. Here's our editorial process.

アバター

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit - a collection of WordPress related products and resources that every professional should have!

Reader Interactions

1件のコメントLeave a Reply

  1. 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.

Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.