表示されるワーニングと意味
warning: count(): Parameter must be an array or an object that implements Countable in …(ファイルパス)/wp-includes/post-template.php on line 284
パラメータは配列かカウントできるオブジェクトでなければなりません。post-template.phpの284行目に対する警告。
原因
PHP7.2.0から、count関数が変更になったため。
PHP公式サイトのドキュメンテーションを参照する(日本語)。
ワーニング解消方法
post-template.phpの284行目の記述を下記の通り差し替える。
変更作業前の注意
- post-template.phpは[wp-includes]の中にあります。(パスは、表示されるワーニングを参照)
- 念のため、変更作業前に、post-template.phpをコピーして置くのが良いです。
変更前の記述
if ( $page > count( $pages ) ) // if the requested page doesn’t exist
$page = count( $pages ); // give them the highest numbered page that DOES exist
変更後の記述
if ( ! empty( $pages )) {
if ( $page > count( $pages ) ) // if the requested page doesn’t exist
$page = count( $pages ); // give them the highest numbered page that DOES exist
} else {
$page = 0;
}
変更後のpost-template.phpをサーバにアップロードしてサイトをリロードし、ワーニングが表示されないことを確認する。
以上
「WordPressの困った!」をまとめました。参考になさってください。