IT~健康情報まで、ライフハック系情報発信ブログ

DEBUG MODE

WordPress

ある日突然WordPressメニューやサイドバー、フッターが消えた!原因はコード表示プラグイン「crayon-syntax-highlighter」だった!トラブルシューティングの過程も公開!

投稿日:

事象

ある日ふと気づいた。

あれ?なんかブログのトップページおかしくないか?

よく見ると「右サイドバー」や「最上部のWordPressのメニューバー」そして「フッター」が消えている!

 

しかも消えているのはトップページだけで、個別の投稿ページは正しく表示されている。

トップページは最近見ていなかったし、もともとシンプルなレイアウトだったので、全然気付かなかった・・・。

一体いつからこうなってしまったのか。

そしてなぜこうなってしまってのか・・・。

 

環境、状況調査

●使用しているテーマは有料で購入したWING-STINGER PRO2

WING-STINGER PRO2バージョン: 20180724
STINGER PRO2 動作検証済みWordPressバージョン 4.9.7

●ホームページの表示設定は「最新の投稿」

 

●同じテーマを使用している別のブログの表示は問題なし

別のブログのホームページの表示設定も「最新の投稿」としている

[違う点]

  • WordPressのバージョン(こっちの blogの方が最新)
  • インストールしているプラグイン

→同じテーマを使用している別のブログの表示は問題ないということろで、このあたりの環境の違いが原因であると推測。

 

原因調査

検索

ググっても今回の事象はhitしない。

 

問い合わせ

せっかく有料でテーマを買ったんだから「WING-STINGER PRO2」のサポートにでも問い合わせてみよう。

サポートはしているかな?

WING-STINGER PRO2のホームページに行って確認してみると・・・

Oh.. サポートはなし。

 

ということで原因はわかりません。

次は、色々変更してみて改善を試みることにします。

 

色々変更してみて改善を試みる

対処1 WordPressダウングレード

WordPressを最新バージョンに更新したことによりWING-STINGER PRO2が対応しなくなった。

この可能性が一番高いと考え、WordPressのバージョンをダウングレードすることに。

色々面倒な手順を経てダウングレードを実施・・・

しかし改善せず!

 

対処2 違うテーマに変えてみる

とりあえず違うテーマ(WordPressに標準で入っていたテーマ)に変えてみる。

もしこれで事象が改善するなら、WING-STINGER PRO2が関係しているということになる。

・・・

結果は、変わらずトップバー、サイドバー、フッターが表示されない!

ということでテーマは関係ないことが分かった。

 

なかなか根が深そうだと思った矢先、

テーマを変えてみたことで新たな情報を手に入れることができた。

WordPressに標準で入っていたテーマの下部にこんなエラー文が表示されていた。

Fatal error: Uncaught Error: Call to a member function id() on array in /home/************/www/wp_dm/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php:36 Stack trace: #0 /home/************/www/wp_dm/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php(538): CrayonFormatter::format_code('', Array, Object(CrayonHighlighter)) #1 [internal function]: CrayonFormatter::delim_to_internal(Array) #2 /home/************/www/wp_dm/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php(516): preg_replace_callback('#()#msi', 'CrayonFormatter...', '#\xE3\x83\x91\xE3\x83\xA9\xE3\x83\xA1\xE3\x83\xBC\xE3\x82...') #3 /home/************/www/wp_dm/wp-content/plugins/crayon-syntax-highlighter/crayon_highlighter.class.php(166): CrayonFormatter::format_mixed_code('#\xE3\x83\x91\xE3\x83\xA9\xE3\x83\xA1\xE3\x83\xBC\xE3\x82...', Object(CrayonLang), Object(CrayonHighlighter)) #4 /home/************/www/wp_dm/wp-content/plugins/crayon-syntax-highlighter/crayon_highlighter.class.php(186): Crayon in /home/************/www/wp_dm/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php on line 36

エラー分よく見ると「plugins」「crayon-syntax-highlighter」の文字が。

エラーの内容はよくわからないけど、プログラムコードをかっこいいレイアウトで表示させてくれる「crayon-syntax-highlighter」というプラグインが関係していそうだ。

 

対処3 プラグイン「crayon-syntax-highlighter」を無効化してみる

というわけでとりあえず、プラグイン「crayon-syntax-highlighter」を無効かしてみた。

 

すると・・・

直った!

「crayon-syntax-highlighter」を再び有効化してみると事象が発現したので、やはりこのプラグインを有効化していたことが原因だったようだ。

 

因みに、似たような事例として以下のような事例も。

https://teratail.com/questions/169449

こちらも、事象は違えど、サイト上のエラー文が表示されてしますという内容です。

 

「crayon-syntax-highlighter」は実質2年以上更新されていないプラグインで、PHPの新たしいバージョンには完全に対応していないよう。

プログラムコードの表示には他のプラグインを使った方がよさそうですね。

 

とりあえず原因がわかってよかった!

 

今後の対応

今後の対応として、「crayon-syntax-highlighter」に変わるプログラムコードの表示のプラグインを探す必要があります。

その内容はまた別の記事で書きたいと思います!

 

この記事が皆さまのトラブルシューティングに役立てば幸いです。

ではまた。

 

 

-WordPress

Copyright© DEBUG MODE , 2024 All Rights Reserved Powered by STINGER.