PHP7.3系でWordPressプラグインのCrayon Syntax Highlighterを使うとエラーが発生します。その対処策をご紹介します。
事象
DEBUGモードが無効の際は次のようなメッセージが画面の下に少し出て、本来表示されるはずのコンテンツが表示されません。
サイトに技術的な問題が発生しています。
wp-config.phpで以下のようにDEBUGモードを有効にしていると、
1 |
define('WP_DEBUG', true); |
次のような詳細なエラーが表示されます。
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が動作し、コードも綺麗に表示されるようになります。