block_core_page_list_nest_pages()


WordPressのblock_core_page_list_nest_pages()関数は、ページのリストをネストされた構造で返すために使用されます。この関数は、ページの親子関係を考慮し、階層的なリストを生成します。

構文

block_core_page_list_nest_pages( array $pages );
  • $pages(array) — ページオブジェクトの配列。各ページオブジェクトは、少なくともIDpost_parentpost_titleを含む必要があります。

例1: 基本的なページリストのネスト

この例では、すべてのページを取得し、ネストされたリストとして表示します。

$pages = get_pages(); echo block_core_page_list_nest_pages($pages);

例2: 特定の親ページの子ページをネスト

特定の親ページの子ページのみをネストして表示します。

$parent_id = get_page_by_path('parent-page')->ID; $pages = get_pages(array('child_of' => $parent_id)); echo block_core_page_list_nest_pages($pages);

例3: カスタムクエリでページを取得してネスト

カスタムクエリを使用してページを取得し、ネストされたリストを生成します。

$pages = get_pages(array('sort_column' => 'post_date', 'sort_order' => 'desc')); echo block_core_page_list_nest_pages($pages);

例4: ネストされたリストにクラスを追加

ネストされたリストにカスタムクラスを追加します。

$pages = get_pages(); $nested_pages = block_core_page_list_nest_pages($pages); echo str_replace('<ul>', '<ul class="custom-class">', $nested_pages);

例5: 特定の深さでネストを制限

ネストの深さを制限して表示します。

$pages = get_pages(); $nested_pages = block_core_page_list_nest_pages($pages); echo preg_replace('/<ul>.*?<\/ul>/', '', $nested_pages, 2);

例6: ネストされたリストを配列として取得

ネストされたリストを配列として取得し、カスタム処理を行います。

$pages = get_pages(); $nested_pages = block_core_page_list_nest_pages($pages); $nested_array = json_decode(json_encode($nested_pages), true); print_r($nested_array);

例7: ネストされたリストをJSON形式で出力

ネストされたリストをJSON形式で出力します。

$pages = get_pages(); $nested_pages = block_core_page_list_nest_pages($pages); echo json_encode($nested_pages);

注意点

  • この関数は、ページの親子関係を正しく処理するために、post_parentが正しく設定されている必要があります。
  • 大量のページを処理する場合、パフォーマンスに影響を与える可能性があります。

関連機能: