get_page_hierarchy()


WordPressのget_page_hierarchy()関数は、ページの階層構造を取得するために使用されます。この関数は、親ページと子ページの関係を配列として返します。

構文

get_page_hierarchy( $pages, $page_id = 0 );

引数の説明:

  • $pages(array) — ページオブジェクトの配列。
  • $page_id(int) — 階層を取得する対象のページID。デフォルトは0で、すべてのページを対象とします。

例1: すべてのページの階層を取得

この例では、すべてのページの階層構造を取得します。

$pages = get_pages(); $hierarchy = get_page_hierarchy($pages); print_r($hierarchy);

例2: 特定のページの階層を取得

この例では、特定のページIDを使用してそのページの階層を取得します。

$pages = get_pages(); $hierarchy = get_page_hierarchy($pages, get_the_ID()); print_r($hierarchy);

例3: 階層構造をループで表示

この例では、階層構造をループして表示します。

$pages = get_pages(); $hierarchy = get_page_hierarchy($pages); foreach ($hierarchy as $page_id => $title) { echo 'ページID: ' . $page_id . ' - タイトル: ' . $title . '<br>'; }

例4: 子ページの階層を取得

この例では、特定の親ページの子ページの階層を取得します。

$pages = get_pages(array('child_of' => get_the_ID())); $hierarchy = get_page_hierarchy($pages); print_r($hierarchy);

例5: 階層構造をJSON形式で出力

この例では、階層構造をJSON形式で出力します。

$pages = get_pages(); $hierarchy = get_page_hierarchy($pages); echo json_encode($hierarchy);

例6: 階層構造をデバッグ表示

この例では、階層構造をデバッグ表示します。

$pages = get_pages(); $hierarchy = get_page_hierarchy($pages); echo '<pre>'; print_r($hierarchy); echo '</pre>';

例7: 階層構造をカスタムクエリで取得

この例では、カスタムクエリを使用して階層構造を取得します。

$pages = get_pages(array('sort_column' => 'post_title')); $hierarchy = get_page_hierarchy($pages); print_r($hierarchy);

例8: 階層構造をフィルタリングして取得

この例では、特定の条件でフィルタリングしたページの階層構造を取得します。

$pages = get_pages(array('exclude' => array(1, 2))); $hierarchy = get_page_hierarchy($pages); print_r($hierarchy);

注意点

  • get_page_hierarchy()は、ページの階層構造を配列で返しますが、ページの詳細情報は含まれません。
  • ページの詳細情報が必要な場合は、get_pages()get_post()と組み合わせて使用します。
  • 大量のページがある場合、パフォーマンスに影響を与える可能性があります。

関連機能: