wordpressのis_front_page() と is_home()の出番って…

wordpressのトップページの判別に is_front_page() と is_home()という条件分岐タグがありますが、動きが変なのでちょっと困った件。

基本的な動きのテストはこちらのページなどを参照。

is_front_page() と is_home() – swhrykの日記

ということでもともと取り扱い注意なややこしさをお持ちのタグなのですが、この上に、間にquery_postsを使うとfalseを返してくれちゃうので、あんまり使えるケースが無い気がします。。。
私の使い方が良くないのかしら。。。

トップページをindex.phpで作成していて、sidebar.phpで判別させたかったのですがquery_posts満載で当然使えなかったというケースでは、index.phpで変数にtrueを渡して、sidebar.phpでglobalにして判別させる、という手を使ってみました。

ただし、バージョン2.9.1でのお話なので、最新版だと解消されてるかも?と期待をしています(が、上記のケースではカスタムし過ぎて迂闊にバージョンアップ出来ないので未確認です)。

参照:
Conditional Tags « WordPress Codex