get_postsを利用したサブループ

ポイント

  • 最初に global をよびだすことで、excerptも呼び出せる
  • 投稿がない場合にはループの外にあるタグも表示しないようにする
<?php
    global $post;
    $args = array(
        'posts_per_page' => 5, //表示件数
        'category'       => 1 //カテゴリーのIDの指定
    );
    $myposts = get_posts( $args );

    if ( $myposts ) :
?>
        <ul>
    <?php
        foreach ( $myposts as $post ) :
            setup_postdata( $post );
    ?>
            <li>
                <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
            </li>
    <?php
        endforeach;
        wp_reset_postdata();
    ?>
        </ul>
<?php else : ?>
        <p>記事がありません。</p>
<?php endif; ?>

参考