DAINASHI YESTERDAY

2013.10.15

【WordPress】ループ処理で記事の表示件数やカテゴリーを指定する方法

wp_img6-1200x800

1つのページの中でカテゴリーごとに記事を一覧表示したり、そのそれぞれで表示件数を個別に指定したいときに使える方法。ブログのトップページなどで使うケースが多いのではないでしょうか。ループ処理にて条件を指定します。

 

ループ処理の基本形

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
<div class="post"><?php the_content(); ?></div>
<?php endwhile; ?>
<?php else: ?>
<h2>記事がありません</h2>
<?php endif; ?>

上のループ処理は、記事があればタイトルを<h2>タグで、本文を「post」というクラス名の付いた<div>タグで括った状態で表示し、この処理を記事がある分だけ繰り返して行ってください、そして記事がなければ「記事がありません」という文字列を<h2>タグで括って表示してください、という意味です。

このループ処理の開始タグの前に1行追加し「どんな記事を探してくるか」などの条件を付加してやることで、表示件数を指定したり、特定のカテゴリーのみを抽出して一覧表示できるようになります。

以下にいくつかサンプル的なものを挙げておきますので、あなたの場合に当てはめて書き換えてみてください。

カテゴリーIDが1の記事を表示する

<?php query_posts('cat=1'); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

記事を10個表示する

<?php query_posts('posts_per_page=10'); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

カテゴリーIDが1,3,5の記事を表示する

<?php query_posts('cat=1,3,5'); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

カテゴリーIDが1の記事を10個表示する

<?php query_posts('cat=1&posts_per_page=10'); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

カテゴリーIDが1,3,5の記事を10個表示する

<?php query_posts('cat=1,3,5&posts_per_page=10'); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

カテゴリーIDが1,3,5以外の記事を表示する

<?php query_posts('cat=-1,-3,-5'); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

カテゴリーIDが1,3,5以外の記事を10個表示する

<?php query_posts('cat=-1,-3,-5&posts_per_page=10'); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

以上です。それでは!

投稿者: