へっぽこコーダーの備忘録

phpやらjavascriptやら、使った技術をすぐに忘れちゃうから、おぼえがき程度に書いていきまーす
2017.12.25

WordPressで記事の一覧を表示する☆

とりあえず一覧表示用コードはこれ!

まず、記事の一覧を表示するには以下のコードを記述すればOKです。

<?php if ( have_posts() ) : ?>
  <?php while ( have_posts() ) : the_post(); ?>
	/* ここに記事タイトルや抜粋などの表示させたいデータを記述 */
  <?php endwhile; ?>
<?php endif; ?>

書いてる内容としては、

<?php if ( have_posts() ) : ?>

↑もし投稿があるなら、

while ( have_posts() ) :

↑投稿がある限り、

the_post(); ?>

投稿データを出力してやるぜ!って感じです^^

記事の表示件数やカテゴリーを指定したいのだけれど。。。

記事の一覧を表示するにしても、カテゴリーで絞り込んだり、表示件数は指定したい時がありますよね。

そんな時はこのコードを書き足してあげましょう☆

<?php query_posts('cat=3&posts_per_page=10'); ?>

このコードだと、カテゴリーIDが「3」の記事を10件表示するという意味になります。

具体的な使い方はこんな感じ。

<?php query_posts('cat=3&posts_per_page=10'); ?>
<?php if ( have_posts() ) : ?>
  <?php while ( have_posts() ) : the_post(); ?>
	/* ここに記事ごとのデータを記述 */
  <?php endwhile; ?>
<?php endif; ?>

query_postsを使用することで、have_posts()の対象が絞り込まれます。

カテゴリーをカテゴリslugで絞り込みたい場合

これもよく忘れるので覚書☆
上の例だと「cat=3」はカテゴリーIDが3の記事で絞り込んでいます。
ただ、時としてカテゴリーIDではなく、カテゴリーslugで絞り込みたい場合があります。
その場合はこれ!

<?php query_posts('category_name=wordpress&posts_per_page=10'); ?>

この例だとカテゴリーのslugが「wordpress」の記事で絞り込まれます。

記事の表示件数を無限にしたいのですが。。。

posts_per_page=10

先程記載したように、このコードだと表示数が10件になりますが、逆に記事をあるだけ表示させたい場合はどうかくの??っていう話ですが、その場合は値を「-1」にすることで、記事が存在するだけ表示されるようになります。
こんな感じですね。

<?php query_posts('cat=3&posts_per_page=-1'); ?>

その他の、一覧の絞り込み条件

カテゴリーや表示件数は先ほど記載しましたが、絞り込み条件は他にもたくさんあります^^

post_type=post,page

投稿や固定ページなどの投稿タイプで絞り込み

order=DESC&orderby=date

日付を降順で並べて絞り込み

などなど、色々な種類があります。

これらのパラメータについては、こちらのサイトで詳しく説明してくれているので、自分の条件に応じて絞り込みをカスタムしてみてください^^