>>145
どうもです。ありがとうございます

「if条件の後に条件付けしたquery_posts()を配置する」って方法は駄目なんでしょうか?
以前WP2.9?だかの古いバージョンで作ったときは正常に動いていたし

ttp://www.teamatworks.com/blog/category/wordpress/
このページなどでも
 <?php if ( have_posts() ) : query_posts('cat=16&showposts=1'); ?>
 <?php while (have_posts()) : the_post(); ?>
として紹介されています。
WP3から駄目になったのかな?

素直に公式での解説をみたら以下の通り「先にクエリする方式」になっています。

>//The Query
>query_posts('posts_per_page=5');
>//The Loop
>if ( have_posts() ) :
> while ( have_posts() ) :
> the_post(); …(以下略)
>query_posts() は テンプレート ファイル内で WordPress ループ が始まる前に記述します

でもこれだと、この構文を2回使ってカテゴリAの記事一覧とBの記事一覧を同じページで出力する場合
2つめのhave_posts()が1つ目2つ目どちらのquery_posts()の返り値を対象にするのか明確じゃない気がしてすっきりしないんです。
気にしすぎですかね? 

1)どうして今までできてた方法が駄目なのか。
2)公式どおりがセオリーだけど上記の点が気になってしまう。

この2点が解決できません。 長くてすみませんが意見お願いします。