お客様のワードプレスサイトでプラグインを利用していて停止(非有効化)されてしまうとエラーなどが出て困る場合があるかと存じます。
今回はワードプレスで特定のプラグインを非有効化できなくする方法を解説いたします。
プラグインを停止できないようにするコード
下記のコードをテーマのfunctions.phpやプラグインに挿入することで特定のプラグインを停止できないようにすることが可能です。
add_filter( 'plugin_action_links',
function ( $actions, $plugin_file, $plugin_data, $context ) {
$plugins = array(
'classic-editor/classic-editor.php', //ここにプラグインのパスを入力
'contact-form-7/wp-contact-form-7.php' //ここにプラグインのパスを入力
);
if ( array_key_exists( 'deactivate', $actions ) && in_array( $plugin_file,$plugins )){
unset( $actions['deactivate'] );
}
return $actions;
}, 10, 4 );
このコードの例では、classic-editorと、contact-form-7プラグインを停止できないようにしています。
任意のプラグインを停止できないように
'classic-editor/classic-editor.php',
の配列を書き換えたり追加することで任意のプラグインを停止できないようにすることも可能です。
停止を禁止をされたいプラグインのwp-content\plugins以下のフォルダにて
Plugin Name: Contact Form 7
等Plugin Name:指定があるPHPファイルまでのパスを記入することでそのプラグインを停止できないようにすることができます。
/wp-content/plugins/wpforms-lite/wpforms.php
wpformsの例では上記の太字の部分を配列に記載されてみてください。