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()関数をしっかり書くというだけです。
単純なミスですが、今後もやらかしそうなのね備忘録として記事にしておきます。
おすすめ記事
フリーランスとして独立することを考えているなら、テックビズをお勧めしています。現在私も契約中です。具体的なおすすめ具合は姉妹サイト「TECHBIZ nut」の次の記事を御覧ください。
また、契約には至りませんでしたがMidworksも対応が丁寧でした。
 
 




コメント