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; ?>

投稿の取得にはサブループを使用します。
投稿の絞り込みで post_parent の値で 0 を指定することで、親を持たない投稿を取得することができます。

まとめ

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