Web制作忘備録

WP記事一覧表示PHP

トップ MEMORANDAM WORDPRESS

WP記事一覧表示PHP

記事一覧表示はループで表示

記事一覧表示の際にはメインループとサブループの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; ?>