query_posts()をリセットする方法

wordpressでサイトを構築する際重宝する「query_posts()」
これを使えばループを簡単に制御できるので便利。ていうか必須です。

たとえば、カテゴリID”3″の記事を5件取得したいとなると、

<?php query_posts('cat=3&showposts=5'); ?>

上記の指定でこの直下にループ処理を挿入すればOK。

<?php if(have_posts()):while(have_posts()):the_post(); ?>
<?php the_title('<li>','</li>'); ?>
<?php endwhile;endif; ?>

上記のコードを挿入すると、
「カテゴリID”3”の記事をリストでタイトルを5件表示」となる。

という感じでとても使い勝手がいい関数なんですが、
「header.php」とか共通で使用するphpに[query_posts()]をページの頭で使用してしまうと、「query_posts()を指定していない」各ページや各カテゴリーで最初に指定した[query_posts]の条件で処理が走るので、意図しない結果が出る場合があります。最初に指定した条件をリセットする場合は、

<?php query_posts($query_string); ?>

上記のコードを追記すれば解除されます。ちょっとはまったので自分用メモに。

26 Beautiful Photo Manipulations of Women – PSDTUTS

Inspiration: 26 Beautiful Photo Manipulations of Women

go to top