get_pages() の使い方|説明・引数・注意点

説明

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

コメント

タイトルとURLをコピーしました