【WordPress】トップページじゃないのに、if ( is_home() || is_front_page() ) が効いてしまうとき

2016年10月26日


<?php if ( is_home() || is_front_page() ) : ?>
<?php else: ?>
<?php endif; ?>

おなじみのトップページとそれ以外で条件分岐するif文。

今回やろうとしたのは、トップページでは表示せず、それ以外のページは全て表示する、といった内容。

しかし所々でトップページと同じく表示されていないページがある。

原因はページ内にあるループ「query_posts()」がトップページの判定をしていまっていて、
そのままでページが終了していた為でした。

なので、ループが終了した段階で、以下を挿入します。


<?php wp_reset_query(); ?>

ループを使用する場合は常に書いたほうが良いかもですね。