サーバーの PHP バージョンを 7.3 以上に上げたら突然 WordPress サイト(ブログ)にエラーが表示さるようなってしまった。
原因は、プラグイン「Crayon Syntax Highlighter」。
普段表示されるページではなく Warning がズラッと並ぶ・・・
そのエラーコードを確認すると、エラー元は「Crayon Syntax Highlighter」だということが記載されていて、プラグインの「crayon_langs.class.php」の「340行目」がエラーですよ…と教えてくれています。
さて、このエラーを解除しなければ・・・
ということで、今回は『サーバーPHPバージョンを7.3以上に上げたら「Crayon Syntax Highlighter」がエラーになった時の対処方法』を備忘録がてら記しておきます。
Crayon Syntax Highlighter の PHP 7.3 問題の対処方法
WordPress 管理画面にある、プラグインエディターから修正するのでは無く、FTP ソフト経由でローカルにてコードエディタを使って修正します。
これは、コード編集時に視認しやすさと、失敗したときにさらなる不具合をもたらさぬためです。こういったデリケートな作業は管理画面のエディタではダメです。
FTP ソフトで、プラグインフォルダの Crayon Syntax Highlighter フォルダ内にある「crayon_langs.class.php」をパソコンへダウンロードします。- コードエディタを起動して、「crayon_langs.class.php」を編集します。
340行目の「w」の次に「\」(半角バックスラッシュ)を入力します。
正しく半角バックスラッシュが入力されるとこんな感じです。編集した「crayon_langs.class.php」を保存します。- 編集された「crayon_langs.class.php」を FTP ツールのもとあった場所へ戻します。「crayon_langs.class.php」は上書き保存されます。
- これで WordPress ページに出ていたエラーが解除されます。
以下、対処方法で正常化している Crayon Syntax Highlighter です。
1 2 3 4 5 6 7 8 9 | 340行目の eturn preg_replace('/[^\w-+#]/msi', '', $id); を eturn preg_replace('/[^\w\-+#]/msi', '', $id); に変更します |
ちゃんとコード表示されていますよね?
あとがき
本来ならば、Crayon Syntax Highlighter の代替をさがさなければならないのかもしれませんが、Crayon Syntax Highlighter を利用した箇所が膨大になると修正も大変です。
本記事の対処方法で、とりえず問題なく利用できるようになるのでお試しください。
こちらもいかがですか?