WordPress

WordPress カスタム投稿タイプの親ページだけの投稿一覧を表示する方法

WordPress カスタム投稿タイプの親ページだけの投稿一覧を表示する方法

WordPress でカスタム投稿タイプの親ページだけの投稿一覧を表示する方法を紹介します。
例えば、階層化したカスタム投稿の親ページの投稿一覧をサイトマップで表示したい場合に便利な方法です。

投稿タイプを指定して親の投稿一覧を表示

投稿タイプを指定して親の投稿一覧を表示する方法を紹介します。
これから紹介する方法はカスタム投稿タイプが階層化していないと正しく表示されません。
カスタム投稿を階層化するには WordPress カスタム投稿タイプを追加する方法をご覧ください。

次のコードは、投稿タイプ products を階層化した場合に、親ページに当たる投稿の一覧を表示する方法です。

<?php // 投稿タイプを指定して親の投稿一覧を表示
$post_type_slug = 'products'; // 投稿タイプのスラッグを指定
$args = array(
'post_type' => $post_type_slug, // 投稿タイプを指定
'post_parent' => 0 // 親を持たない投稿を取得
);
$the_query = new WP_Query($args); if($the_query->have_posts()):
?>
<ul>
<?php while ($the_query->have_posts()): $the_query->the_post(); ?>
<li><a href="<?php the_permalink(); ?>"><?php echo get_the_title(); ?></a></li>
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
</ul>
<?php endif; ?>

投稿の取得にはサブループを使用します。

まとめ

WordPress でカスタム投稿タイプの親ページだけの投稿一覧を表示する方法を紹介しました。

合わせて読みたい関連記事