WordPress で、「Call to undefined function boolval
というエラーが出て画面が真っ白になる」という相談を受けたので、対応方法を書いておきます。
注意
この記事で紹介しているのは、「臭いものに蓋をする」だけの、その場しのぎの対応方法です。
根本的に解決するには、PHP のバージョンを 5.5 以上にしてください。推奨環境は 7.3 以上です。
2019 年にもなってこんなエラーが出てしまう、古いバージョンの PHP が動いているサーバーを使っている方は、サーバーの乗り換えを強くオススメします。
原因
boolval()
という関数は、PHP5.5 から実装されましたので、根本的な原因は、PHP のバージョンが 5.5 未満という点にあります。
なお、私が相談を受けたケースでは、定番プラグイン「All in One SEO Pack」のバージョン 3.2 で boolval()
が使われていました。
自己解決できるようになろう!
All in One SEO Pack 3.2 の紹介ページでは
PHP バージョン: 5.2.4 またはそれ以上
と書かれていますが、実際には PHP5.2.4 では動かない筈です(笑)
このような事は WordPress では頻繁にありますので、「画面が真っ白になって訳が分からない」ではダメです。
を参考に、エラーをしっかり確認できるよう PHP 周りの設定を見直し、自己解決できるようになりましょう!
解決方法
以下のコードを、WordPress の自動更新対象外のファイルにコピペしてください。
if (!function_exists('boolval')) {
function boolval($v) {
return (bool) $v;
}
}
私の場合、こんな案件に 3 分以上かけたくないので、wp-config.php
に書いておきました。より適切なファイルがある場合は、コメントで教えていただけると幸いです。