ワードプレスでPHPバージョンを7.xxに上げた途端に表示されるエラーに「Crayon Syntax Highlighter」のWarningがあります。
いきなり画面を覆うほどのエラー表示が出てびっくりしますが、慌てず対応すれば簡単にこのエラーは修正できます。
ここでは実際に私が修正た王した手順を紹介しますので、参考にしてみてくださいね。
Contents
エラー表示の状況
PHPのバージョンを5.xxから7.1.xxに変更した際には、この「Crayon Syntax Highlighter」の表示もされませんでしたが、7.3.xxに変えた途端に、以下のようなエラーが鬼のように表示されてびっくり。
PHPバージョンは上げたい、でも、エラーは表示してほしくない、というところですが、この便利な「Crayon Syntax Highlighter」は実はすでに開発は終了して以降のアップデートが期待できません。
ということから自分で修正する、ということになりますが、実は修正は至って簡単。
修正箇所
修正箇所はエラーメッセージにある以下の箇所です。
赤線にあるように、「Crayon Syntax Highlighter」の中にある「crayon_langs.class.php」というファイル中の340行目に問題がある、ということで、こちらを軽く修正します。
修正手順と実際の修正
修正は以下のようにしていけば、誰でも簡単に出来ると思います。
1)プラグインエディターを開く
プラグインを修正する、ということから「プラグイン」⇒「プラグインエディター」を選択
- 「プラグイン」から「プラグインエディター」を選択!
↓↓↓↓↓↓
2)プラグインを選択
続いて、今回修正対象となるプラグイン「Crayon Syntax Highlighter」を選びます。
- ①:「編集するプラグインを選択」をクリック
- ②:表示されるプラグインから「Crayon Syntax Highlighter」をクリック
- ③:最後に「選択」ボタンをクリック!
↓↓↓↓↓↓
3)エラー対象ファイルの選択
プラグイン「Crayon Syntax Highlighter」の選択後は、エラーとなっているファイルを探して選びます。
- 画面上右に表示される「プラグインファイル」の中から「crayon_parser.class.php」を探してクリック!
↓↓↓↓↓↓
4)修正箇所を探す
「crayon_parser.class.php」の選択後、左に表示されるファイル内容の修正箇所を探します。
表示されるエラーから340行目と分かるので、その行を探せばよいですね。
実際に左端に表示される行数を見つつ、340行目までスクロールしてみる。
上の赤枠で囲った箇所が修正対象の行になります。
↓↓↓↓↓↓
5)実際の修正
修正自体は至って簡単ですが、プラグインの修正は注意しながら行いましょう。
340行目を直接修正しても良いですが、修正前にすぐ戻せるように、
- ①:修正箇所は一旦コメントアウトして(その行は無効にして)
- ②:その行をコピペしたものを下に追加し、それに対して修正を行う
とココではしていきます。つまりは以下のような感じ。
- ①:340行目をコメントアウト(先頭に "//"を付ける)
- ②:341行目に、340行目をコピペして、[^¥w-+#] を [^¥w¥-+#] に置き換え
修正自体は至って簡単で、違いは「wの後に” ¥ "が入っているかどうか」だけ。
見る環境によって「¥」は「 \ 」に見える場合もありますが(多分以下は \ に見えてるかも)修正箇所を改めて書くと以下の通り。
338 339 340 341 342 |
function clean_id($id) { $id = CrayonUtil::space_to_hyphen( strtolower(trim($id)) ); //return preg_replace('/[^\w-+#]/msi', '', $id); return preg_replace('/[^\w\-+#]/msi', '', $id); } |
↓↓↓↓↓↓
6)保存して終了
修正が終わったら最後は保存して終わりです。
下の方にスクロールすると「ファイルを更新」ボタンがあるので、そちらをクリック!
以上で「Crayon Syntax Highlighter」のエラー修正は完了しました。早速画面にエラーが表示されないか、PHPバージョンを切り替えて確認して見ましょう。
補足)最新版の入手で対応する場合
この便利なプラグイン「Crayon Syntax Highlighter」は既に更新が止まってますが、実は有志でアップデートをしているようですね。
私はこのアップデート版は使ってないのでなんですが、最新版は以下から入手できるようです。
Releases · Crunchify/crayon-syntax-highlighter · GitHub
2020年7月時点で最新バージョン(ver. 2.8.6)は以下に対応しているようです。
- PHP 7.3.1 でおきる fatal error の修正
- PHP 7.3.1 で表示されるWarnings の修正
- その他、「Uncaught Error: Undefined class constant 'SHOW_MIXED'」の fatal erro 修正
今後PHPのバージョンが上がり、それに対応していきたい、という場合には、どこかのタイミングでこちらの最新版を使った方が良いかもしれません。