現在のページの子ページ本文を表示する
WordPressの固定ページでは、以下のように親子関係を指定することができます。
親ページ
├ 子ページ1
├ 子ページ2
└ 子ページ3
├ 子ページ1
├ 子ページ2
└ 子ページ3
前回(現在のページの子ページ一覧を取得する)では、
子ページ一覧リンクを表示する方法について紹介しましたが、
今回は現在のページ内で子ページの本文を表示する方法を紹介します。
テンプレートタグ get_posts を使い、子ページ記事を取得します。
get_posts | 記事を取得するテンプレートタグです。 |
---|
<?php $child_posts = get_posts('numberposts=-1&order=ASC&orderby=post_title&post_type=page&post_parent=' . $post->ID); if ( $child_posts ): foreach ( $child_posts as $child ): $child_title = apply_filters('the_title', $child->post_title); $child_content = get_extended($child->post_content); $child_content = apply_filters('the_content', $child_content['main']); ?> <h2><?php echo $child_title; ?></h2> <div class="entry"> <?php echo $child_content; ?> </div> <?php endforeach; endif; ?>
現在のページを親ページとして条件にいれることで、子ページの内容が取得できます。
ソート順などはお好みで。
ページの本文が長くなる場合に、見出しごとに子ページとして投稿して
上のソースのように表示させれば記事の管理も楽になりますね。
関連記事