固定ページで子ページ一覧を取得する方法 – WordPress

Web制作

この記事では、親ページを参照して、子ページ一覧を取得する方法を紹介します。

次のような、親子関係を持っている、固定ページがあります。

親ページに属している、子ページ1から、子ページ5を取得する為の、コードは次になります。

<?php
	//ループ条件セット
	$news_query = new WP_Query(
	array(
		//親ページの投稿ID
		'post_parent' => 45,
		//固定ページを指定
		'post_type'   => 'page',
	)
	);
?>

<?php if ( $news_query->have_posts() ) : ?>
	<ul>
		<?php while ( $news_query->have_posts() ) : $news_query->the_post(); ?>
			<li><?php the_title(); ?></li>
		<?php endwhile; ?>
	</ul>
<?php endif; ?>
<?php wp_reset_postdata(); ?>

次のパラメータを渡すことで、親ページを参照してループさせています。

  • post_parent : 「親ページの投稿IDを指定」
  • post_type : 「固定ページを指定」

表示しているページを除外したい

デザインによっては、表示しているページを除外したい場合があります。

その場合は、次のコードを入力します。

<?php
    //ループ条件セット
    $news_query = new WP_Query(
    array(
        //親ページの投稿ID
        'post_parent' => 45,
        //固定ページを指定
		'post_type'   => 'page',
		//現在のページを除外
		'post__not_in' => array( get_the_ID() ),
    )
    );
?>

<?php if ( $news_query->have_posts() ) : ?>
    <ul>
        <?php while ( $news_query->have_posts() ) : $news_query->the_post(); ?>
            <li><?php the_title(); ?></li>
        <?php endwhile; ?>
    </ul>
<?php endif; ?>
<?php wp_reset_postdata(); ?>

次のパラメータを追加することで、表示しているページを除外しています。

  • post__not_in : 「投稿IDを指定すると、その投稿は取得されない」

まとめ

今回の記事が少しでも役に立ってくれた嬉しいです。

以上、「固定ページで子ページ一覧を取得する方法」でした。

hikaru

1995年2月生まれ26歳。東京都にあるWeb制作会社に勤務をしています。 犬とコーヒーが好きです。

関連記事

特集記事

コメント

この記事へのコメントはありません。

hikaru

1995年2月生まれ26歳。東京都にあるWeb制作会社に勤務をしています。 犬とコーヒーが好きです。

TOP