wp_reset_queryの履歴

is_home()が効かない・・・。
下記の分岐がうまくいかないんですよ。

<?php if(!(is_home())) : ?>
処理・・・
<?php endif; ?>


header.phpでは効いているはずなのに、footer.phpでは使えなかった・・・。

調べてみたら、こういうことらしい。

sidebar.php などの他のテンプレートファイルによってクエリが実行された場合、元の条件分岐タグは破損してしまいます。例えば、header.php では条件分岐タグが適切に機能するのに、footer.php では正しく機能しないトラブルがよくあります。これを解決するにはフッターで条件分岐タグを使う前に wp_reset_query を実行します:

http://wpdocs.sourceforge.jp/Conditional_Tags#.E3.83.86.E3.83.BC.E3.83.9E.E3.81.AE_footer.php_.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.81.A7


なるほどね。