先日、プラグインのShortcodes Ultimateをアップデートしたら、
突然ショートコードが使えなくなる不具合が発生しました。
色々試して解決したのでメモしておきますね。
Shortcodes Ultimateが動かなくなる
発生した不具合は下記の通り。
・ショートコードが反映されない ・記事ページ下部に以下のようなエラーメッセージが表示される Fatal error: Call to undefined function is_plugin_active() in /home/hotate999/pj-freedom.com/public_html/wp-content/plugins/shortcodes-ultimate/inc/core/tools.php on line 252 ・エラーが発生するのは記事ページのみ (固定ページでは問題なく使えている)
こんな感じで投稿ページで
スポイラー表示のショートコードを記述しても…↓↓
公開された記事を見てみると、見事に記述が無視されています↓↓
[say name=”YUME” img=”https://threedays.co.jp/wp-content/uploads/2018/01/YUME9-min.png” from=”right”]な、なぜだwww[/say]と思ってページを見ていると、
記事ページの一番下にこんなエラーメッセージが。
Fatal error: Call to undefined function is_plugin_active() in /home/hotate999/pj-freedom.com/public_html/wp-content/plugins/shortcodes-ultimate/inc/core/tools.php on line 252
Fatal errorとはなんぞや、と思って調べてみると…
[say name=”YUME” img=”https://threedays.co.jp/wp-content/uploads/2018/01/YUME6-min.png” from=”right”]完全にヤバいやつじゃんww[/say]PHPスクリプトで画面に表示される「fatal error」(フェイタルエラー)とは、処理を停止するほど重大なエラーという意味です。参照:PHPプログラミングの教科書
でもめっちゃ活用しているプラグインなので、
削除したくないし…
ということで色々試した結果、下記の方法で解決しました。
エラーが起きたら他のプラグインを要チェック!
私の場合はCrayon Syntax Highlighter
というプラグインを停止したところ、
Shortcodes Ultimateのエラーが無くなりました。
ソースコードを記入するのに使っているプラグインです。
Shortcodes Ultimateの不具合の記事は、
日本語ではあまり見つけることができなかったのですが、
英語のサイトだとチラホラと報告が。
その中でも多かった報告が、
「他のプラグインでエラーが出るようになって、 エラーログを調べてみたらShortcodes Ultimateが原因だった」
というものだったんですね。
ということで
どうやら原因はプラグイン同士の干渉かな?
と思い一つづつプラグインを停止してみたところ、
Crayon Syntax Highlighterを停止したらバッチリ解決した!
というわけです。
ちなみにFatal errorに該当する箇所のphpを見ても、
特に記述に問題はありませんでした。
ということでShortcodes Ultimateでエラーが発生した場合は、
他のプラグインとの干渉を疑ってみよう!
というおハナシでした。
]]>