WordPressのテーマを開発している最中、以下のようなエラーがWebサイトの画面にズラッと出てきました。
Warning: count(): Parameter must be an array or an object that implements
Countable in /app/public/wp-includes/post-template.php on line 317 Warning:
ブラウザの画面はこんな感じです。

WordPressループをいじっている最中だったので、そのへんが原因だろうとあたりを付けて調べてみました。
その結果、the_post()関数を書き忘れていたことがわかりました。
the_post()は次の投稿を取得する関数ですが、これがないためにhave_post()がずっとtrueになっていたわけです。
そのため、whileループが無限ループになってしまい、その際に警告がたくさん出てしままいました。
<?php
if ( have_posts() ) :
while ( have_posts() ) :
//the_post(); ←この記述を忘れていた
the_content();
endwhile;
endif;
?>
なので、解決策はthe_post()関数をしっかり書くというだけです。
単純なミスですが、今後もやらかしそうなのね備忘録として記事にしておきます。
おすすめ記事
日々勉強を積み重ねているあなたなら、今より仕事の待遇をよくできるかもしれません。
長期ブランクがあった私が会社との条件交渉を成功させて方法を参考にしてみませんか?
独立を考えているなら、テックビズをお勧めしています。私自身は現在会社員なのですが、一時相談した際営業さんが誠実に対応してくれました。
コメント