Tips

PHP7.3でCrayon Syntax Highlighterを使うとエラー発生する件の対処法

PHP7.3系でWordPressプラグインのCrayon Syntax Highlighterを使うとエラーが発生します。その対処策をご紹介します。

事象

DEBUGモードが無効の際は次のようなメッセージが画面の下に少し出て、本来表示されるはずのコンテンツが表示されません。

サイトに技術的な問題が発生しています。

wp-config.phpで以下のようにDEBUGモードを有効にしていると、

次のような詳細なエラーが表示されます。

Warning: preg_replace(): Compilation failed: invalid range in character class at offset 4 in /Users/xxxx/workspace/stinger8-test/wp-content/plugins/crayon-syntax-highlighter/crayon_langs.class.php on line 340

原因

公式のプラグインディレクトリに存在しているCrayon Syntax Highlighterは現在バージョン2.8.4が最新なのですが、2016年以降更新されていません。

なので、最新のPHPのバージョンである7.3系には対応していないため発生しています。

対策

公式のプラグインディレクトリではなく、GitHubで有志の方が7.3系に対応させてくれています。

まず現状のCrayon Syntax Highlighterを「停止」⇒「削除」してください。

次にGitHubのページにアクセスします。

https://github.com/Crunchify/crayon-syntax-highlighter/releases

以下を押します。

zipファイルがダウロードされます。これをそのままプラグインをアップロードする画面からアップロードし、有効化します。

これでエラーが発生しなくなり、きちんとCrayon Syntax Highlighterが動作し、コードも綺麗に表示されるようになります。