wp_reset_queryの履歴
wp_reset_queryは今まで使っているクエリを全部一度破棄すること。
なんでこの関数にたどり着いたかというと、footer.phpでis_home()による分岐がが効かない。
下記の分岐がうまくいかない。
<?php if(!(is_home())) : ?> 処理・・・ <?php endif; ?>
header.phpでは効いているはずなのに、なんでfooter.phpでは使えねーんだとかなり憤りを感じてやみくもに調べてみた。
そしたら、こういうことらしい。
sidebar.php などの他のテンプレートファイルによってクエリが実行された場合、元の条件分岐タグは破損してしまいます。例えば、header.php では条件分岐タグが適切に機能するのに、footer.php では正しく機能しないトラブルがよくあります。これを解決するにはフッターで条件分岐タグを使う前に wp_reset_query を実行します:
ってことで、こういうときはリセットしましょう。