1つ以上の推奨モジュールが存在しません
WordPressのサイトヘスステータスに「1つ以上の推奨モジュールが存在しません」と表示されていて、この警告は随分前から表示されていたので当然知っていて放置していましたが、メンテナンスする度に表示されるので気になる度に調べたりもしたのですが、大半のサイトでは、imagickモジュールをONにする方法、もしくはサーバにimagickモジュールをインストールする方法ばかりで、結局解決策は見つからなかった。
- 「imagickをサーバにコマンドでインストールする」
→そんな難しいこと出来ませんわ。 - 「php.iniファイルに「extension = imagick.so」と入力し保存」
→やってみたがダメだった。 - 「代替機能が備わっているのでimagickは不要」
→じゃあ何で警告出してるのん、いらんやん! - 「特に支障ないので気にするな」
→いや、気になるから聞いてんねん!
そんな回答ばかり。プログラミングに詳しければサーバにデータをインストールして完全に解決出来るのだが、レンタルサーバだし、そんな敷居をまたぐ足の長さもコマンドを打つ勇気もない。
「代替機能が備わっていてimagickは不要」ならば、いっそこんな警告を出す必要はないのではと思い、ならば「警告を削除(見えなく)すればいい」という事で、サイトヘルスからimagickの警告を非表示にします。
サイトヘルスからimagickの警告を非表示にする実際のソース
- <?php
- /*
- Plugin Name: Disable Imagick Site Health Check
- Description: サイトヘルスから imagick の警告を非表示にします
- Version: 1.1
- Author: koyonakuaisuru.com
- */
- // imagick 警告を「良好」に書き換える(互換用)
- add_filter( ‘site_status_tests’, function( $tests ) {
- if ( isset( $tests[‘direct’][‘php_modules’] ) ) {
- $original_test = $tests[‘direct’][‘php_modules’][‘test’];
- $tests[‘direct’][‘php_modules’][‘test’] = function() use ( $original_test ) {
- $result = call_user_func( $original_test );
- if ( ! empty( $result[‘description’] ) && strpos( $result[‘description’], ‘imagick’ ) !== false ) {
- $result[‘status’] = ‘good’;
- $result[‘label’] = __( ‘Imagick check suppressed’, ‘default’ );
- $result[‘description’] = ”;
- }
- return $result;
- };
- }
- return $tests;
- }, 20 );
- // imagick を PHP モジュール一覧から削除(WP 6.7+ 対応)
- add_filter( ‘site_status_test_php_modules’, function( $modules ) {
- if ( isset( $modules[‘imagick’] ) ) {
- unset( $modules[‘imagick’] );
- }
- return $modules;
- });
このソースをテーマ内のfunction.phpに書いてもいいのですが、下手にいじって過去にホームページ全体に支障が出た事があったので、私はプラグイン形式をとりました。プラグインならすぐに追加・削除も簡単です。
根本的な解決策ではありませんが、警告はなくなり、「すばらしい!」と褒めてもらえてニコちゃんマークが出るはずです。
私のサイトや得意先サイトでも警告が消えて精神的にスッキリ、ニコちゃんマークに微笑んでもらえました!
imagick の警告を消すプラグインが必要ですか?!
もしご入用の方がいらっしゃれば、こちらからダウンロードしてwordpressのプラグインページにインストールして使ってください。
- これは「警告を非表示」にするだけで完全な解決策ではありません。
- ChatGPTとの共同作業で作ったソースです。
- 当サイトはインストール結果に一切責任は持ちませんので、あくまで自己責任の元で行ってください。
- ソースを見ればわかりますが、変なプログラムやウイルス等は入っていないのでご安心ください。それが出来るスキルが有るなら最初からimagickをサーバに入れてますし〜。
コメント