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

クライアントがWordPressプラグインを無効化するのを防ぐ方法

クライアントが誤ってWordPressプラグインを無効化するのを防ぎたいですか?

もしあなたが他人のためにサイトを構築しているのであれば、おそらくすべてのクライアントのサイトにインストールするいくつかの重要なプラグインを持っていることでしょう。もしクライアントがこれらの重要なプラグインを誤って無効化してしまったら、そのサイトは完全に壊れてしまうかもしれません。

この投稿では、クライアントによるWordPressプラグインの無効化を阻止する方法を紹介する。

How to prevent clients from deactivating WordPress plugins

なぜクライアントがWordPressプラグインを無効化できないようにするのか?

もしあなたが他の人のためにウェブサイトを作成しているなら、すべてのサイトにインストールするWordPressプラグインの必需品のリストを持っているかもしれません。これらは、ハッカーや悪意のあるコードからクライアントを守るセキュリティプラグインかもしれません。

プラグインを使って、定期的なバックアップの作成やスパムコメントを削除するなど、WordPressの重要なメンテナンス作業を自動化することもできます。

クライアントが誤ってこれらのプラグインを無効化した場合、サイトが攻撃されやすくなったり、機能に影響が出たりする可能性があります。最悪の場合、サイトが完全に壊れてしまうことさえあります。

これはあなたの責任ではないとはいえ、あなたの評判を落としかねない悪いクライアント体験であることに変わりはありません。WordPressでクライアントが誤ってプラグインを無効化するのを防ぐ方法を見てみましょう。

以下のクイックリンクから、使いたい方法に直接ジャンプできます:

方法1:WordPressの初期設定のユーザーグループを使用する(プラグイン必須なし)

WordPressにはシンプルで強力なユーザー管理システムがあり、各ユーザーは割り当てられた権限グループによって異なる機能を持つ。

WordPressをインストールすると、以下のユーザー権限グループが自動的に作成されます:

初期設定では、管理者だけがプラグインを管理する権限を持っており、これにはプラグインの無効化も含まれます。

この点を考慮し、顧客用の個別管理者アカウントを作成し、顧客がサイトを管理できるようにすることをお勧めします。そして、管理者権限を必要としない、アクセスが必要な人のために、管理者以外のアカウントを作成することができます。

管理者権限がなければ、顧客の大半はプラグインを無効化することができません。

管理者以外のアカウントには、どの権限グループを使ってもかまいません。しかし、エディターを使用することをお勧めします。エディターでは、他のユーザーが作成したコンテンツも含め、コンテンツの作成、編集、公開、削除ができます。これにより、編集ワークフローが改善され、クライアントが新しいサイトを管理しやすくなります。

また、管理者アカウントはWordPressの経験があり、WordPressサイトの管理方法を理解している人に任せるのが良いでしょう。

一人または複数のクライアントのアカウントを作成するには、WordPressダッシュボードの ユーザー ” 新規追加に 進みます。次に、名前やメール・アドレスなど、その人に関する情報を入力します。

Adding new users to a WordPress website

その後、Roleドロップダウンを開き、AdminやEditorなど、このユーザーに割り当てたい権限グループを選択します。

入力した情報に問題がなければ、「新規ユーザーを追加」をクリックします。

Preventing clients from deactivating WordPress plugins with user roles

さらにアカウントを作成するには、上記と同じ手順を踏むだけです。このトピックについては、WordPressブログに新規ユーザーを追加する方法のガイドをご覧ください。

方法2:Membersプラグインを使用する(カスタマイザーグループを作成する)

時には、他のエリアへのアクセスを制限することなく、クライアントによるプラグインの無効化を阻止する必要があるかもしれません。

とはいえ、ビルトインされたユーザーの権限グループがあなたのサイトに合っていないかもしれません。例えば、エディターはプラグインを無効化することはできませんが、新規ユーザーを追加したり、WordPressテーマをインストールすることもできません。

初期設定のユーザー・ロールがクライアントに合わない場合は、適切な権限と能力を持つカスタマイザーロールを作成できます。チームや従業員ごとに異なる権限グループを作成することもできます。

カスタム権限を作成する最も簡単な方法は、無料のMembersプラグインを使用することです。このプラグインでは、新しいロールを作成し、WordPressプラグインを有効化したり無効化したりする機能を含め、それらのユーザー権限グループに機能を追加したり削除したりすることができます。

この権限により、以下の画像にあるように、左側のメニューからプラグインの 設定が削除される。

Stop clients from deactivating plugins by hiding the Plugins menu

最初に行う必要があるのは、Membersプラグインのインストールと有効化です。詳しくは、WordPressプラグインのインストール方法のステップバイステップガイドをご覧ください。

有効化した後、Members ” Add New Roleに進みます。

Prevent clients from deactivating WordPress plugins using the Members plugin

Enter role name」フィールドに、使用したい権限グループ名を入力します。これはWordPressダッシュボードにアクセスできる人なら誰でも見ることができます。

その後は、権限の付与と拒否だ。

左のカラムには、再利用ブロックや WooCommerce商品など、異なるタイプのコンテンツがすべて表示されます。タブをクリックするだけで、そのコンテンツタイプのすべての権限が表示されます。

次に、各権限について「許可」または「拒否」のボックスをチェックします。より詳細な手順については、ユーザー権限を追加または削除する方法のガイドを参照してください。

How to add and remove permissions from a client account

クライアントがプラグインを無効化しないようにするには、左側の「プラグイン」タブをクリックします。

この画面で、「プラグインを有効化する」という行の「拒否」にチェックを入れる。これにより、ユーザーはWordPressプラグインを有効化したり無効化したりできなくなる。

Preventing clients from deactivating plugins with a custom user role

ユーザー権限のグループの設定に満足したら、「Add Role」をクリックします。

方法1で説明したのと同じ手順に従って、この権限をどのユーザーにも割り当てることができます。

方法3:カスタムPHPを使う(クライアントが特定のプラグインを無効化できないようにする)

クライアントがすべてのプラグインを無効化しないようにしたい場合は、上記の方法のいずれかを使用することができます。

しかし、特定のプラグインを保護しつつ、クライアントが必要でないソフトウェアを無効化したり削除したりできるようにしたい場合もあります。

特定のプラグインを保護する最善の方法は、WordPressにカスタムコードを追加することです。これにより、特定のプラグインの「無効化」リンクを削除することができます。

これは上級者向けの方法なので、初心者にはお勧めできない。

Removing the 'Deactivate' link from the WordPress plugins menu

注:一括操作ドロップダウンメニュー、またはFTPや phpMyAdminのような高度なツールを使って、クライアントはプラグインを無効化することができます。しかし、「無効化」リンクを削除することで、お客様が誤って重要なプラグインを無効化することがより難しくなります。

まず、プラグインのファイル名とサーバー上の場所を知っておく必要があります。通常、これらのファイルにはプラグイン名の後に.phpが付き、プラグインにちなんだ名前のフォルダー内に存在します。例えば、WooCommerceのファイルは’woocommerce.php’という名前で、’woocommerce’フォルダーの中にあります。

しかし、特にプラグインの名前が長く複雑であったり、複数の単語が使われていたりする場合は、確認する価値があります。例えば、WordPressでインタラクティブな360度画像を追加するためにSR Product 360° Viewプラグインを使用している場合、そのファイル名は’sr.php’となります。

FileZilla などのFTP クライアントを使用してサイトのサーバーに接続するか、WordPress ホスティングのcPanel のファイルマネージャーを使用して、ファイル名と場所を確認できます。

初めてFTPを使用する場合は、FTPを使用してサイトに接続する方法についての完全なガイドを参照してください。

その後、/wp-content/plugins/にアクセスしてください。ここに、サイトにあるさまざまなプラグインがすべて表示されます。

An FTP WordPress client

保護したいプラグインを見つけて、そのフォルダーを開くだけです。

その後、.phpファイルを見つけてください。

How to find a plugin file in FileZilla

フォルダー名と.phpファイルをメモしておいてください。保護したいプラグインごとにこの作業を繰り返すだけです。

これで、サイトにコード・スニペットを追加する時が来た。しばしば、サイトのfunctions.phpファイルにコードを追加するよう求めるガイドを見かける。

しかし、単純なエラーがWordPressの一般的なエラーを無数に引き起こす可能性があるため、これはお勧めできません。また、WordPressテーマを更新すると、カスタムコードも失われてしまいます。

そこでWPCodeの出番だ。

WPCodeは、200万以上のWordPressサイトで使用されている最高のコードスニペットプラグインです。カスタムのCSS、HTML、PHPなどを簡単に追加できます。

最初に行う必要があるのは、無料のWPCodeプラグインをインストールして有効化することです。詳しくは、WordPressプラグインのインストール方法のステップバイステップガイドをご覧ください。

有効化したら、Code Snippets ” Add Snippetにアクセスしてください。

Adding custom code snippets to a WordPress website

ここでは、サイトに追加できる既成のスニペットがすべて表示されます。これらのスニペットには、コメントを完全に無効化したり、WordPressが通常サポートしていないファイルタイプのアップロード、添付ファイルページの無効化などが含まれています。

代わりに、「カスタムコードを追加」にマウスオーバーし、表示されたら「ユーザースニペット」を選択してください。

Prevent clients from deactivating plugins using WPCode

はじめに、カスタムコードスニペットのタイトルを入力します。これは、WordPressダッシュボードでスニペットを識別するのに役立つものであれば何でも構いません。

その後、「コードタイプ」のドロップダウンを開き、「PHPスニペット」を選択する。

Adding a PHP snippet to WordPress

これでカスタムPHPを追加する準備ができました。正確なコードは保護するプラグインによって異なりますが、以下にテンプレートを示します:

add_filter( 'plugin_action_links', 'disable_plugin_deactivation', 10, 4 );
function disable_plugin_deactivation( $actions, $plugin_file, $plugin_data, $context ) {

	if ( array_key_exists( 'deactivate', $actions ) && in_array( $plugin_file, array(
		'wpforms/wpforms.php',
		'woocommerce/woocommerce.php'
	)))
		unset( $actions['deactivate'] );
	return $actions;
}

このスニペットはWPFormsと WooCommerceの無効化を無効にします。他のプラグインを保護するには、’wpforms/wpforms.php’ と ‘woocommerce/woocommerce.php’ を前のステップで取得したフォルダとファイル名に置き換えるだけです。

より多くのプラグインを無効化するには、コードに追加するだけです。例えば

  'wpforms/wpforms.php',
        'woocommerce/woocommerce.php',
		'service-box/service-box.php'
	
    )))

その後、「インサーター」セクションまでスクロールしてください。WPCodeは、すべての投稿の後、フロントエンドのみ、または管理者のみなど、さまざまな場所にコードを追加することができます。

WordPressの管理エリアでPHPコードを使用するだけなので、まだ選択されていなければ「Auto Insert」をクリックしてください。次に、「場所」のドロップダウンメニューを開き、「管理者のみ」を選択します。

Adding custom PHP code to the WordPress admin area

その後、画面を一番上までスクロールし、「Inactive」トグルをクリックすると「Active」に変わります。

最後に「Save Snippet」をクリックして、PHPスニペットをライブにする。

How to prevent clients from deactivating plugins using WPCode

これで、左側のメニューからプラグインを 選択すると、それらのプラグインの「無効化」リンクが削除されていることがわかります。

無効化」リンクを元に戻したい場合は、コードスニペットを無効化することができます。コード・スニペット コード・スニペットに アクセスし、スニペットの横にあるスイッチをクリックするだけで、青色(有効化)から灰色(無効化)に変わります。

How to disable a code snippet in WordPress

プラグインメニューに アクセスして、これらのプラグインを無効化することができます。

phpMyAdminやFTPクライアントを使用して、保護されたプラグインを無効化することもできます。特定のプラグインを削除したいが、コードスニペットを完全に無効化して、保護されているプラグインをすべて脆弱なままにしておきたくない場合は、この方法がよいでしょう。

さらに詳しく知りたい方は、WP-Adminにアクセスできないときにすべてのプラグインを無効化する方法をご覧ください。

この投稿が、クライアントによる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.

情報開示 私たちのコンテンツは読者支援型です。これは、あなたが私たちのリンクの一部をクリックした場合、私たちはコミッションを得ることができることを意味します。 WPBeginnerの資金源 をご覧ください。3$編集プロセスをご覧ください。

アバター

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.

究極のWordPressツールキット

ツールキットへの無料アクセス - すべてのプロフェッショナルが持つべきWordPress関連製品とリソースのコレクション!

Reader Interactions

6件のコメント返信を残す

  1. Syed Balkhi

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. THANKGOD JONATHAN

    This is great, but I think for me it’s not necessary to do that. Your clients should have absolute control over their websites except where they tell you to keep on maintaining it for them.
    What you should do instead is to tell them exerctly the plugins that are very important for the primary function of the website and once that should not be deleted. And also tell them what they should be careful about and advice them to hire an expert to do the technical aspects for them and also keep keep regular backups.

  3. Ibrahim Rumani

    But with this method the plugins can still be disabled via bulk options.

    • WPBeginner Support

      The disable option should be removed from the dropdown of the bulk action options :)

      管理者

  4. Bart Kuijper

    The article and code are both useful and provide some nice insights. However it’s important to note that using the example code, administrators can still easily disable plugins by simply ticking the box in front of one or more plugins and then selecting ‘Deactivate’ from the ‘Bulk Actions’ drop-down list.

    • WPBeginner Support

      Thank you for letting us know, we’ll be sure to look into updating the code when we’re able.

      管理者

返信を残す

コメントありがとうございます。すべてのコメントは私たちのコメントポリシーに従ってモデレートされ、あなたのメールアドレスが公開されることはありませんのでご留意ください。名前欄にキーワードを使用しないでください。個人的で有意義な会話をしましょう。