記事一覧表示はループで表示
記事一覧表示の際にはメインループとサブループの2種類がメインで使用されている。
- メインループ
主に「投稿」の記事一覧や一覧系ページの表示に多く利用されている
category.phpやtag.phpで使用 - サブループ
カスタム投稿や、指定したカテゴリの一覧取得の際に利用されている
テンプレートファイル作成時によく使用
メインループ
<?php if (have_posts()):while (have_posts()):the_post(); ?>
<?php the_title(); ?>
<?php endwhile;endif; ?>
サブループ
投稿カテゴリ指定
<?php
$posts = get_posts(array(
'post_type' => 'post', // 投稿なのでpost
'posts_per_page' => 100, // 表示件数
'category_name' => 'スラッグ', // カテゴリをスラッグで指定する場合
));
?>
<?php if ($posts): foreach ($posts as $post): setup_postdata($post); ?>
<?php the_title(); ?>
<?php endforeach; endif; ?>
カスタム投稿のターム指定
<?php
$posts = get_posts(array(
'post_type' => 'works', // カスタム投稿名スラッグを指定
'posts_per_page' => 100, // 表示件数
'orderby' => 'post_data',
'order' => 'ASC',
'tax_query' => array( // カスタム投稿のタームを指定する場合必要
array(
'taxonomy' => 'works_category', //タクソノミーを指定
'field' => 'slug',
'terms' => 'disp', //表示したいタームをスラッグで指定
'operator' => 'IN'
),
)
));
?>
<?php if ($posts): foreach ($posts as $post): setup_postdata($post); ?>
<?php the_title(); ?>
<?php endforeach; endif; ?>