【WordPress】Crayon Syntax Highlighterのエラーを解決

どうも、おぎくぼです。

今回はWordPressプラグインのCrayon Syntax Highlighterでエラーが発生した時の解決策について解説します。

先ほど(7/23/22:00)PHPのバージョンが古いことに気付き、PHP7.4.4にアップデートしました。

すると、サイトにエラーメッセージがずらりと…

こんな感じです。わーお。こんなのが出てきたら、ちょっとビクッとしますよね。

では早速解決策を紹介します。

結論

GitHubから最新版をダウンロードしましょう!

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

↑こちらからGitHubのサイトにアクセスしてください。

すると以下のような画面になるので、画面下のSource code (zip)からzipファイルをダウンロードしてください。

WordPressの管理画面のプラグイン→新規追加→プラグインのアップロード→ファイルを追加でここに先ほどダウンロードしたzipファイル展開せずに選択します。

これで最新版がインストールされたのであとは有効化するだけです。

簡単ですね。ちなみに最新版はver.2.8.6で古いほうはver.2.8.4です。

古いほうはもういらないので削除しても大丈夫です。以上!

原因

原因はCrayon Syntax Highlighterが4年以上更新されておらず、最新のPHPバージョンに対応できていないことらしいです。

インストール済みプラグインの詳細を表示で確認してみるとわかります。

ただ、なぜGitHubには最新版があるのかは謎です。

ちなみに

ちなみに、今回の対処法はもう1つあります。

それは実際にコードをいじるやり方です。

こちらは解説するのがめんどくさいので、私の仕事ではありません。

焦らずエラーメッセージを確認

今回のようにエラーが出ると焦ってしまいがちですが、冷静に吐き出されたエラーメッセージを確認することが大切です!

“Warning: preg_replace(): Compilation failed: invalid range in character class at offset 4 in /home/ogi610/ogi-dai.com/public_html/wp-content/plugins/crayon-syntax-heighlighter/crayon_langs.class.php on line 340”

ふむふむ。警告が出ている。正規表現の置換とかを行う関数のpreg_replace()に関する問題なのかな?(preg_replace()の公式ドキュメントはこちらから)場所はプラグインのCrayon Syntax Highlighterがあるところだな。

なるほど。これで今回のエラーを起こしている犯人がおそらくCrayon Syntax Highlighterであると知ることができた。

さらにファイルの位置とエラーを起こす原因となっているコードの場所まで特定できた。ではファイルを見てみよう!

この流れが大切です。

“まず焦らずエラーメッセージを確認する→エラーの内容を理解する→自分で解決するorググる”の流れで対応すれば、WordPressなら大体問題ないです。

利用者が多い分ネットでの情報が豊富なのでググればなんとかなります。

まとめ

今回はWordPressのプラグインであるCrayon Syntax Highlighterのエラーを解決する方法を紹介しました。

「あーコードを書かずに済んでよかった。」という声が聞こえてくるような気がします。

今回はかなり簡単に解決できましたが、これからもっと難解なエラーに直面するかもしれません。

私も技術的にまだまだクソなので、一緒に頑張りましょう!

ではまた。