WordPressで固定ページの子ページの総数を表示する
以前「HTML & CSS 問題」を制作した際、登録した問題の総数を表示したくていろいろ調べて事を記事にしました。
「HTML & CSS 問題」自体は単純なもので、固定ページに登録した問題のページをランダムに選びながら解答を進めるものなので、登録した固定ページの総数がわかればいいのです。はじめ「固定ページの総数」から調べてみたら下記の「$count_pages = wp_count_posts(‘page’);」の情報を見つけました。
<?php $count_pages = wp_count_posts('page'); $num = $count_pages->publish; echo '<p>合計' . $num . '件の固定ページがあります</p>'; ?>
ただ、これだと固定ページ全体の総数は出せても各ページにぶら下がる子ページの数は出せないようです。(私がわからないだけでパラメータがあるのかもしれません。)他にないか調べてみたら下記のようなものがありました。
<?php $parent_page = get_pages( array( 'parent'=>0 ) ); $parent_page_count = count($parent_page); ?>
これを元に「’parent’=>0」部分を「’child_of’=> 固定ページの親のID」に変更して、この親ページに属する子ページの総数を出しました。