get_page_children()


WordPressのget_page_children()関数は、指定されたページIDを親ページとして、指定されたページリストから子ページを取得するための関数です。

構文

get_page_children( int|string $page_id, array $pages );

引数の説明:

  • $page_id (int|string) — 親ページのID。
  • $pages (array) — ページ情報の配列。

例1: 親ページの子ページを取得

特定の親ページIDに基づいて子ページを取得します。

<?php
$pages = get_pages();
$children = get_page_children( get_the_ID(), $pages );
?>

例2: 子ページをリスト表示

親ページの子ページをリストとして表示します。

<?php
$pages = get_pages();
$children = get_page_children( get_the_ID(), $pages );
foreach ( $children as $child ) {
    echo '<li>' . esc_html( $child->post_title ) . '</li>';
}
?>

例3: 子ページがあるかを確認

特定のページが子ページを持つかどうかを確認します。

<?php
$pages = get_pages();
$children = get_page_children( get_the_ID(), $pages );
if ( ! empty( $children ) ) {
    echo '子ページがあります。';
}
?>

例4: 子ページをカスタムリンクとして表示

子ページをリンク付きで表示します。

<?php
$pages = get_pages();
$children = get_page_children( get_the_ID(), $pages );
foreach ( $children as $child ) {
    echo '<li><a href="' . get_permalink( $child->ID ) . '">' . esc_html( $child->post_title ) . '</a></li>';
}
?>

例5: 子ページのカスタムフィールド値を表示

子ページのカスタムフィールド値を取得して表示します。

<?php
$pages = get_pages();
$children = get_page_children( get_the_ID(), $pages );
foreach ( $children as $child ) {
    $custom_field = get_post_meta( $child->ID, 'custom_field_key', true );
    echo '<li>' . esc_html( $custom_field ) . '</li>';
}
?>

注意事項

  • get_page_children()を使用する前にget_pages()でページリストを取得してください。
  • 取得した子ページ情報はWP_Postオブジェクトとして返されます。

関連機能: