WordPress

テンプレートで使う記事表示ループ処理

更新日:2026-05-09 著者:unigram 読了目安:2分

get_posts を使った汎用的ループ処理です。コピペで使いやすい形でまとめています。
取得条件は不要なものは削除して利用してください。

<ul>
<?php
// 取得条件の設定
$args = array(
    'post_type'      => 'post',        // 投稿:post / 固定ページ:page
    'posts_per_page' => 10,            // 全件の場合は -1
    'category_name'  => 'news',        // カテゴリースラッグ
    'cat'            => 5,             // カテゴリーID(数値)
    'category__not_in' => array(1, 2), // 特定のカテゴリーを除外
    'orderby'        => 'date',        // 日付:date / タイトル:title / ランダム:rand
    'order'          => 'DESC',        // 降順(新しい順):DESC / 昇順(古い順):ASC
    'post__not_in'   => array(get_the_ID()), // 今見ている記事を除外
    // --- ページネーション利用する場合(WP_Queryで必須) ---
    'paged'          => get_query_var('paged') ? get_query_var('paged') : 1,
);

$the_query = new WP_Query($args);

// ループ処理
if ($the_query->have_posts()) :
    // 記事がある間、ループを回す
    while ($the_query->have_posts()) :
        $the_query->the_post();
        ?>

        <!--ここにループさせたい記事ソースを入力-->
        <li>
            <span><?php the_time('Y.m.d'); ?></span>
            <a href="<?php the_permalink(); ?>">
                <?php the_title(); ?>
            </a>
        </li>
        
        <?php 
    endwhile; 
    wp_reset_postdata();
else : ?>

    <!--記事がない場合の表示-->
    <li>記事はありません</li>

<?php endif; ?>
</ul>

PHPがあまりわからなくてもすぐに使えるテンプレートです。
記事一覧を表示したいところにコピペしてください。

この記事を書いた人

unigram
web、印刷、映像などの制作をしています。@京都、フリーランス18年目。 大学で講師もしています。 自身の備忘録も兼ねて、Web制作・WordPress・SEO・GA4・生成AI活用をテーマに情報発信しています。わかりやすく優しい内容で記事作成を心がけています。