wordpress

WordPressでphp7.2の状態で「Warning: count()」が発生していたので原因と対処方法をまとめました。
多くのレンタルサーバーで最近はphp7.2に対応させているので発生している人も多いかもしれません。人によってはphpの設定でWarningが表示されない場合には気がついていない場合もあると思いますが。

Contents

Warning: count()が出ている状態

php7.2環境でのWordpressで発生する

phpのバージョンが7.2で発生するので、バージョン切り替えを行った場合に起こります。

表示されているメッセージ

Warning: count(): Parameter must be an array or an object that implements Countable in /private/var/www/html/wordpress/wp-includes/post-template.php on line 284

パスはwordpressを置いている場所によって変わるので人によって違います。

テーマやプラグインによるもの

発生する理由がテーマやプラグインの場合もあります。

原因

PHP7.2の変更点

今までのバージョンではcount()にNULLでも0を返してくれていましたが、Warningが出るようになったようです。

メッセージの内容

Warning: count(): Parameter must be an array or an object that implements Countable in /private/var/www/html/wordpress/wp-includes/post-template.php on line 284

countの引数には配列、もしくはカウントすることができるオブジェクトでなければいけない。

対処方法

WordPressのバージョンを上げる

WordPressのバージョンを上げることで対象箇所が最新で対応される可能性があります。
テーマやプラグインの場合でも確認して最新版にしましょう。

対象箇所を書き換える

これは応急処置となります。何か理由があってバージョンを変えたりできない場合に行いましょう。
メッセージの出ているファイルの対象行を書き換えましょう。

php7.2からバージョンを下げる

他の方法で対処できない場合などに。
php7.2からWarningが発生するようになっているのでphpのバージョンを7.1などに戻すことで解決します。

この記事を書いた人

鳥井 慎太郎
鳥井 慎太郎
Web事業家/ブロガー
毎日楽しい。 個人開発(Webサービス、ゲームアプリ)