Steamer Lane Studio技術備忘録WordPress

WordPressの固定ページテンプレートでの子ページの数による分岐

wordpress WordPressの固定ページテンプレートでの子ページの数による分岐
作成日: 2025年6月11日

あまり使わないものだが、

  • 固定ページ1ページを組んでいた
  • 事情により子ページをいくつかぶら下げる予定

こんなケース。
そもそも固定ページってのは「カテゴリー」ページには向いていないが、archive/categoryはテンプレ内にコンテンツ記述が必要(別になくてもいいけどな、当方方針としてはある程度コンテンツ化して検索にかかる様にとするけど)。
条件的には子ページが無限に増えるのならカテゴリーにすべきだが、極限定的で加増機会が順次ってなる場合に、テンプレ都度弄るのは面倒なので予め組んでおく格好かな。

<?phpglobal $post;$child_pages = get_pages(array('child_of' => $post->ID,'parent' => $post->ID,'post_type' => 'page','post_status' => 'publish'));$child_count = count($child_pages);if ( $child_count === 1 );?><!--子ページが1の場合の処理--><?php else:?><!--子ページが2以上の場合の処理--><?php endif;?>

$child_count===1
ここの数字で1なら0ならと条件を変えられる。
今回用いたのは1件しかなかったものの案内だったのが、2件になる=親を後付けする格好だったので、2件目公開までは1件目のコンテンツ表示とし、2件目公開で親ページ=カテゴリーアーカイヴ的ページ内容と、1・2またはその後の追加へのリンクを表示とした。

あまり使うものではないが、既存固定ページにぶら下げる用が発生した場合などに良いかな。