現在のページの子ページ本文を表示する

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;
?>
現在のページを親ページとして条件にいれることで、子ページの内容が取得できます。
ソート順などはお好みで。
ページの本文が長くなる場合に、見出しごとに子ページとして投稿して
上のソースのように表示させれば記事の管理も楽になりますね。
関連記事






