query_postsを使うと条件分岐がうまく動作しなくなってしまった時の対処法。


先日WordPressの設定を行っていた所、条件分岐がうまく動作していないところを発見。

条件分岐の箇所のコードを調べてみたところ問題なさそうです。

おかしいな〜?と思ってソースコードを色々いじっていたら、記事を古い順でソートするためにquery_postsを使用していたことが原因ということが判明。

カテゴリのテンプレートをいじればすむことなのですが、ソースが重複するのが嫌なので、色々と試行錯誤したのですが、解決せず。

しかし、query_postsの性質的にこれを使ったから条件分岐が使えなくなるというのもおかしなことだなと思い、querypostsについて調べてみたところ、

以下の記事を発見。

http://www.cms-seisaku.com/blog/wordpress/297

どうもquerypostを使った場合必ず最後に以下のコードでリセットしなければいけないらしい。

wp_reset_query();

最後の箇所に入力してアップした所無事条件分岐が正常に動作しました。

コメントを残す