ここ数カ月、プラグイン Crayon Syntax Highlighterでハイライトさせているコードの部分の表示がおかしくなっていました。コメントで教えて頂くまで、まったく表示がされてなかった事に気付いてなかったので、いつからトラブルが発生していたのかも不明です。
いろいろ試して結局直らず、しばらくプラグインを停止させてハイライトされてなくても内容が見れるようにしていましたが、先日Debianのアップデートをかけたら、PHPのバージョンアップが来てサーバーを再起動させると復旧しました。
このページの目次
ハイライトの表示が異常
WordPressや自宅サーバーのカテゴリーの記事でよく使う、htmlやcssなどのコードを表示させるためにCrayon Syntax Highlighterプラグインを利用しています。
そのハイライトさせていた部分が、下図のように [crayon] のような一行の表示になってしまい、記事の内容がまったく理解不能の状態になっていました。
これでは肝心の部分が意味不明なモノになっているので、せっかく検索などで辿り着いてくれた方に申し訳ないことをしていた状態でした。
記事を書いている本人からすれば、ぱっと見この状態になっていても見逃してしまっていたのかもしれません。ここにコードがハイライトされているモノとして脳内で認識しているので、このページを開いてもおかしいと感じていなかったかもしれません。最近はハイライトさせる必要があるカテゴリーの記事を書いていなかったのでなおさらです。
コメントで教えて頂き、本当に助かりました。
競合プラグイン
なぜこんな状態になっていたのか原因不明です。検索しても同じようなトラブルは見つけられませんでした。
インストールしているプラグインを全停止して、Crayon Syntax Highlighterだけ有効にすると正常表示になるので、プラグインの競合が原因のようです。
ひとつずつ他プラグインを有効にしていくと、Amazon Associates Link Builderプラグインを無効にするとハイライト表示が正常になるので、これと競合しているようです。
Amazonのプラグインも重要なのでこちらは有効のまま、Crayon Syntax Highlighterは無効でもpreタグ表示で内容は伝わるので、しばらくそのまま数カ月放置したままにしていました。
PHPのバージョンアップで直った
なんとか直らないかなと、サイト丸ごとローカル環境(Local by Flywheel)に持ってくると、なんとトラブルが解消してしまうので、現象を再現させて色々試す気も起きずにいました。
それで先週ふとサーバーのアップデートしてみようかなとい思い、いつものコマンドを打つと、12/10にphp7.0のバージョンアップ( 7.0.33)が来ていました。その数日前にもバージョンアップしていたので、phpのアップデートだけが来てそれで目立ってよかったです。
apt update apt upgrade
深夜だったのでサーバー再起動
reboot
これでCrayon Syntax Highlighterのハイライト表示が正常に戻りました。よかったです。
そういえば現行WordPressの推奨はphp7.2以上なので、Debianの安定版がphp7.0とはいえphp7.2か7.3にしようと思いました。
現在は、PHP7.2でこのサイトは稼働しています。