説明
get_pages() は、固定ページの一覧を配列で取得する関数です。
基本構文
get_pages( array|string $args = array() ): WP_Post[]|false
引数
$args:child_of、sort_column、exclude、post_statusなど
戻り値
WP_Post の配列。
使い方(サンプル)
$pages = get_pages( array( 'sort_column' => 'menu_order' ) );
注意点
- 投稿には使えません。投稿は
get_posts()を使います。
実務での使いどころ
- 固定ページの一覧を、配列で取得して、自分でHTMLを作るとき。
- 親ページを指定して、子ページの一覧を、取得するとき(
child_of・parent)。
よくあるミスと対処
- 0件のときは、空の配列が返る。
falseになるのは、post_typeが階層型でない、またはpost_statusが不正なとき。 - 投稿には使えない。投稿は、
get_posts()を使う。 post_statusの既定はpublish。下書きや、非公開のページは、含まれない。
NG例
foreach ( get_pages() as $page ) { // 条件によっては、false が返り、警告になる
echo $page->post_title;
}
OK例
$pages = get_pages( array( 'sort_column' => 'menu_order' ) );
if ( $pages ) {
foreach ( $pages as $page ) {
echo esc_html( $page->post_title );
}
}
使い分け早見表
| 関数 | 特徴 |
|---|---|
get_pages() |
固定ページを、配列で取得する |
get_posts() |
投稿や、カスタム投稿を、配列で取得する |
wp_list_pages() |
固定ページの、リストを出力する |
関連項目
wp_list_pages()、get_posts()、get_page_uri()
公式リファレンス:get_pages() | Function | WordPress Developer Resources

コメント