WordPress 投稿を日付の降順(新しい順)で取得
query_postsを利用する方法ももちろんありますが、ここではquery_postsをもうすでに使用してしまったなどで使えない場合のために、get_posts関数を利用する方法を書いておきます。
たとえば、カテゴリー18の投稿を5件、新しい順に取得して表示するサンプルです。
<div class="new_info">
<?php
//query_posts( 'cat=18&orderby=date&posts_per_page=5' );
$args = array('category'=>18,
'numberposts' => 5,
'order'=>'DESC',
'orderby'=>'post_date');
$posts = get_posts( $args );
if ($posts) :
?>
<table class="news">
<?php foreach ( $posts as $post ): setup_postdata($post); ?>
<th><?php echo get_post_time('d M Y'); ?></th>
<td><div>
<?php $the_title = get_the_title();
echo ($the_title== "") ? 'タイトルなし' : $the_title;
?></a>
</div></td>
</tr>
<?php endforeach;; ?>
</table>
<?php
endif;
wp_reset_query();
?>
</div>
get_postsについて ちなみに、query_postsはループをネストして使えない、というのは下記に書いてあります。 Secondary Loops To create secondary listings (for example, a list of related posts at the bottom of the page, or a list of links in a sidebar widget), try making a new instance of WP_Query or use get_posts(). http://codex.wordpress.org/Function_Reference/query_posts
http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/get_posts
