Written by Kasumi

子固定ページで親固定ページ情報を親子順に全て取得する方法

子固定ページで親固定ページ情報を親子順に全て取得する方法について知りたい。

本記事ではこのような悩みを解決。

実装方法について解説します。

親固定ページを取得するコード

<?php 
  //現在の固定ページIDを取得 
 global $post;
//固定ページの親IDを親子順に全て取得
$page_parent_ids = array_reverse(get_ancestors($post->ID, 'page'));
//固定ページの親を全て出力
foreach ($page_parent_ids as $page_parent_id) :
  $page = get_post($page_parent_id);
?>
  <!-- タイトル -->
  <p><?= $page->post_title; ?></p>
  <!-- リンク先 -->
  <a href="<?= get_permalink($page->ID); ?>"></a>
<?php endforeach; ?>

親固定ページの情報を親子順に取得するコード例です。

get_ancestors関数を使い、引数に$post->ID, 'page'を入れることで、親子階層順に固定ページの親IDを全て取得できます。

子から親ではなく、親から子で順番に取得したい場合はarray_reverse関数でget_ancestors関数を囲います。

あとはget_post関数を使って、取得した親固定ページIDを引数に設定。

foreachで親ページの数だけループ。

以上で実装完了です。

まとめ

親ページを設定するには固定ページ右サイドバーにあるページ属性から指定できます。

以上で解説を終わります。

目次

関連記事

WordPress プログラミング

カスタム投稿タイプのターム(カテゴリー)の初期設定を変更する方法

2022.04.01
543
WordPress プログラミング

親子階層の設定をしているworpdressカテゴリーページでページ内容が重複してしまうのを対処する方法。【canonicalを設定しよう】

2022.01.31
363
WordPress

【WordPress】削除した記事URLが勝手にリダイレクトされる原因・対処方法

2022.07.04
590
WordPress

WordPressで続きを読む・もっと見るボタンを実装する方法

2022.07.02
235