ショウジンブログ on Hatena

“お芝居をしないと、この社会では異邦人として扱われるほかない”

サブループを使ってカテゴリを指定してn件をループ表示@WordPress

カテゴリと件数を指定し、ランダムで表示するループの例です。

サブループを使っていますので、メインループが存在するテンプレートでも使えます。

<?php $the_query = new WP_Query( 'category_name=news&orderby=rand&showposts=3' ); /* カテゴリと件数を指定&ソートはランダム */ ?>
<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
    <div class="post">
        <h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
    <!-- / .post --></div>
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>

WP_Queryを使って、引数でカテゴリ、表示件数、ソートの条件を指定しています。

  • category_name : カテゴリ名(カテゴリスラッグ)を指定
  • orderby : ソート(並び替え)はランダムを指定
  • showposts : 表示件数を指定

これを元に、投稿が持つカテゴリ名、タグ、投稿年月日を加えた例は以下になります。
(投稿年月日の形式は適宜お好みで)

<h1>お知らせ</h1>
<?php $the_query = new WP_Query( 'category_name=news&orderby=rand&showposts=3' ); /* カテゴリと件数を指定&ソートはランダム */ ?>
<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
    <div class="post">
        <h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
        <ul class="optional">
            <li class="date">Published: <?php echo get_post_time('M jS, Y'); ?></li>
            <li class="category">Category: <?php the_category(', '); ?></li>
            <?php if(has_tag() == true) : ?>
                <li class="tags">Tags: <?php the_tags('', ', ', ''); ?></li>
            <?php else : ?>
            <?php endif; ?>
        </ul>
    <!-- / .post --></div>
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>

WordPress 仕事の現場でサッと使える! デザイン教科書 (Webデザイナー養成講座)

WordPress 仕事の現場でサッと使える! デザイン教科書 (Webデザイナー養成講座)