クライアントが WordPress プラグインを非アクティブ化するのを防ぐ方法

公開: 2023-04-21


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

他の人のために Web サイトを構築する場合、すべてのクライアント サイトにインストールする重要なプラグインがいくつかあるでしょう。 クライアントがこれらの重要なプラグインの 1 つを誤って非アクティブ化すると、サイトが完全に壊れる可能性があります。

この記事では、クライアントが WordPress プラグインを非アクティブ化するのを止める方法を紹介します。

How to prevent clients from deactivating WordPress plugins

クライアントが WordPress プラグインを非アクティブ化できないようにするのはなぜですか?

他の人のために Web サイトを作成する場合、すべてのサイトにインストールする必要のある WordPress プラグインのリストがあるかもしれません。 これらは、ハッカーや悪意のあるコードからクライアントを保護するセキュリティ プラグインである可能性があります。

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

クライアントがこれらのプラグインのいずれかを誤って非アクティブ化すると、Web サイトが攻撃に対して脆弱になったり、その動作に影響を与えたりする可能性があります。 最悪の場合、ウェブサイトが完全に壊れてしまうことさえあります。

これはあなたのせいではありませんが、それでもクライアント エクスペリエンスが悪く、評判を損なう可能性があります。 そうは言っても、クライアントがWordPressで誤ってプラグインを非アクティブ化するのを防ぐ方法を見てみましょう.

以下のクイック リンクを使用して、使用したい方法に直接ジャンプしてください。

方法 1. デフォルトの WordPress ユーザー ロールを使用する (プラグインは不要)

WordPress にはシンプルだが強力なユーザー管理システムが付属しており、各ユーザーは割り当てられた役割に基づいてさまざまな機能を持っています。

WordPress をインストールすると、次のユーザー ロールが自動的に作成されます。

デフォルトでは、管理者だけがプラグインを管理する権限を持っています。これには、プラグインの無効化が含まれます。

そのことを念頭に置いて、クライアントがサイトを管理できるように、クライアント用に 1 つの管理者アカウントを作成することをお勧めします。 次に、アクセスが必要で管理者権限を必要としない他のユーザーのために、管理者以外のアカウントを作成できます。

管理者権限がないと、ほとんどのクライアントがプラグインを非アクティブ化できないことを意味します。

管理者以外のアカウントには、任意のロールを使用できます。 ただし、他の人が作成したコンテンツを含め、ユーザーがコンテンツを作成、編集、公開、および削除できるため、エディターを使用することをお勧めします。 高レベルの WordPress 機能にアクセスできないだけです。

WordPress の経験があり、WordPress Web サイトの管理方法を理解している人に管理者アカウントを与えることもお勧めします。

1 つまたは複数のクライアントのアカウントを作成するには、WordPress ダッシュボードで[ユーザー] » [新規追加]に移動します。 次に、名前やメールアドレスなど、その人に関する情報を入力できます。

Adding new users to a WordPress website

それが完了したら、[役割] ドロップダウンを開き、管理者や編集者など、このユーザーに割り当てる役割を選択します。

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

Preventing clients from deactivating WordPress plugins with user roles

さらにアカウントを作成するには、上記と同じプロセスに従ってください。 このトピックの詳細については、WordPress ブログに新しいユーザーを追加する方法に関するガイドをご覧ください。

方法 2. メンバー プラグインを使用する (カスタム クライアント ロールを作成する)

他の領域へのアクセスを制限せずに、クライアントがプラグインを非アクティブ化するのを停止する必要がある場合があります。

そうは言っても、組み込みのユーザー ロールは Web サイトに適していない可能性があります。 たとえば、編集者はプラグインを無効にすることはできませんが、新しいユーザーを追加したり、WordPress テーマをインストールしたりすることもできません。これは、クライアントにとって問題になる可能性があります。

デフォルトのユーザー ロールがクライアントに適切でない場合は、カスタム ロールを作成できます。 この役割は、クライアントが必要とする権限と機能を正確に持つことができます。 さまざまなチームや個々の従業員に対して、さまざまな役割を作成することもできます。

カスタム ロールを作成する最も簡単な方法は、無料のメンバー プラグインを使用することです。 このプラグインを使用すると、新しいロールを作成し、WordPress プラグインをアクティブ化および非アクティブ化する機能など、それらのユーザー ロールに機能を追加および削除できます。

次の図に示すように、この権限により、左側のメニューから[プラグイン]設定が削除されます。

Stop clients from deactivating plugins by hiding the Plugins menu

最初に行う必要があるのは、Members プラグインをインストールしてアクティブ化することです。 詳細については、WordPress プラグインのインストール方法に関するステップバイステップ ガイドを参照してください。

アクティブ化したら、 [メンバー] » [新しい役割の追加] に移動します。

Prevent clients from deactivating WordPress plugins using the Members plugin

[ロール名を入力] フィールドに、使用する名前を入力します。 これは、WordPress ダッシュボードにアクセスできるすべての人に表示されます。

その後、アクセス許可を付与および拒否します。

左の列には、再利用可能なブロックや WooCommerce 製品など、さまざまな種類のコンテンツがすべて表示されます。 タブをクリックするだけで、そのコンテンツ タイプのすべての権限が表示されます。

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

How to add and remove permissions from a client account

クライアントによるプラグインの無効化を停止するには、左側の [プラグイン] タブをクリックします。

この画面で、「Activate Plugins」という行の「Deny」ボックスにチェックを入れます。

Preventing clients from deactivating plugins with a custom user role

ユーザー ロールの設定に問題がなければ、[ロールの追加] をクリックします。

方法 1 で説明したのと同じプロセスに従って、このロールを任意のユーザーに割り当てることができるようになりました。

方法 3. カスタム PHP を使用する (クライアントが特定のプラグインを非アクティブ化できないようにする)

クライアントがすべてのプラグインを非アクティブ化するのを止めたい場合は、上記の方法のいずれかを使用できます。

ただし、重要なプラグインのみを保護しながら、クライアントに重要でないソフトウェアを非アクティブ化および削除する自由を与えたい場合があります。

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

これは高度な方法ですので、初心者にはお勧めしません。

Removing the 'Deactivate' link from the WordPress plugins menu

注:クライアントは、[一括操作] ドロップダウン メニューを使用するか、FTP や phpMyAdmin などの高度なツールを使用してプラグインを非アクティブ化できることに注意してください。 ただし、「非アクティブ化」リンクを削除すると、クライアントが重要なプラグインを誤って非アクティブ化することがはるかに困難になります。

まず、プラグインのファイル名とサーバー上のどこにあるのかを知る必要があります。 通常、これらのファイルはプラグインの名前の後に .php を使用し、プラグインにちなんで名付けられたフォルダー内に存在します。 たとえば、WooCommerce ファイルの名前は「woocommerce.php」で、「woocommerce」フォルダー内にあります。

ただし、特にプラグインに長くて複雑な名前や複数の単語がある場合は、確認する価値があります。 たとえば、SR Product 360° View プラグインを使用してインタラクティブな 360 度画像を WordPress に追加する場合、そのファイルの名前は「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 は、100 万以上の WordPress Web サイトで使用されている最高のコード スニペット プラグインです。 カスタム CSS、HTML、PHP などを簡単に追加できます。

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

有効化したら、 Code Snippets » Add Snippetに進みます。

Adding custom code snippets to a WordPress website

ここで、[カスタム コードを追加] の上にマウスを置きます。

表示されたら、[スニペットを使用] をクリックします。

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 コードを使用するだけでよいので、まだ選択されていない場合は [自動挿入] をクリックします。 次に、[場所] ドロップダウン メニューを開き、[管理者のみ] を選択します。

Adding custom PHP code to the WordPress admin area

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

最後に、[スニペットを保存] をクリックして PHP スニペットを有効にします。

How to prevent clients from deactivating plugins using WPCode

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

いつでも「非アクティブ化」リンクを復元する必要がある場合は、コード スニペットを無効にすることができます。 コード スニペット»コード スニペットに移動し、スニペットの横にあるスイッチをクリックして、青色 (有効) から灰色 (無効) に切り替えます。

How to disable a code snippet in WordPress

[プラグイン]メニューに移動して、これらのプラグインを無効にすることができます。

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

詳細については、WP-Admin にアクセスできない場合にすべてのプラグインを無効にする方法に関するガイドを参照してください。

この記事が、クライアントが WordPress プラグインを非アクティブ化するのを防ぐ方法を学ぶのに役立つことを願っています. WordPressの速度とパフォーマンスを向上させる方法、または中小企業向けの最高の電話サービスに関する究極のガイドもご覧ください.

この記事が気に入ったら、WordPress ビデオチュートリアルの YouTube チャンネルに登録してください。 Twitter や Facebook で私たちを見つけることもできます。