WP_Queryで投稿一覧表示

トップページやページのサイド領域でブログの一覧表示をおこないたい時があると思いますが、WP_Queryを使った方法です。

<?php
    $args = array('category__in' => array(8),'posts_per_page' => 5);
    $blog_query = new WP_Query($args);
?>
<?php if($blog_query->have_posts()): ?>
    <?php while($blog_query->have_posts()): $blog_query->the_post(); ?>
        <p><?php the_time('Y/m/d'); ?></p>
        <p>
        <?php if(mb_strlen($post->post_title)>16): ?>
            <a href="<?php the_permalink(); ?>"><?php echo mb_substr($post->post_title, 0, 16).'...'; ?></a>
        <?php else: ?>
            <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
        <?php endif; ?>
        </p>
    <?php endwhile; ?>
<?php endif; ?>
<?php wp_reset_postdata(); ?>

Point

2行目の'category__in' => array(8) この「8」となっているのが表示させたいカテゴリーIDです。複数のカテゴリーを表示させたい時は(8,11,19)といったようにコンマ区切りで数値を増やしていきます。
'posts_per_page' => 5 表示件数はこの「5」を変えれば変更することができます。

前回投稿したquery_postsを使う方法は現在のWordPressのバージョンではあまり勧められていないようなので、今後はこちらで統一したいと思います。