前回、「WordPressで指定した固定ページを読み込む方法」を書いたのですが今回は親ページを指定した子ページを読み込んでみようと思い、試してみたのでメモしときます
[ads_center]
get_postsとget_pageを使って取得する
まずは配列に必要なパラメータを格納します。そしてget_postsの引数にその配列を渡せば$post->IDで子ページのidを取得できるので、今度はそれをget_pageの引数にforeachを使って渡していきます。あとは必要な情報を出力できるようになります。
<?php
$args = array(
'post_parent' => 取得したい親ページid,
'post_type' => 'page',
'order' => 'ASC',
);
$posts = get_posts($args);
foreach($posts as $post) {
$post_id = $post->ID;
$page_id = get_page($post_id);
echo '<h3>';
the_title();
echo '</h3>';
echo '<p>';
echo the_excerpt();
echo '</p>';
echo '<a href="';
echo the_permalink();
echo '">続きを読む</a>';
};
?>
これでタイトル、抜粋、各ページへのリンクが出力されます。抜粋ではなくて本文を表示したい場合は以下のようにsetup_postdata()に引数として $post配列を渡すと出力できるようになります。
foreach($posts as $post) {
setup_postdata($post);
$post_id = $post->ID;
$page_id = get_page($post_id);
the_content();
これで本文も表示できるようになります。get_postsではなくてget_pages()だけを使っても似たような感じで出力できるのですが、使い分けるところがよくわかんないのでとりあえず今回はget_postsを使って取得してみました。





