概要
get_pages
関数は、WordPressの固定ページを取得するための関数です。この関数は、特定の条件に基づいて固定ページのリストを取得し、テーマやプラグインで表示する際に便利です。以下に、get_pages
関数がよく使用される機能を挙げます。
- 固定ページのナビゲーションメニューを生成する
- サイトマップを作成する
- 固定ページのリストをサイドバーに表示する
- 特定の親ページの子ページを表示する
- カスタムテンプレートで固定ページの一覧を表示する
- ページを特定の順序で表示する
- 特定のページを非表示にして他のページを取得する
- 固定ページにメタデータを付加して表示する
構文
get_pages( $args );
パラメータ
get_pages
関数は、以下のパラメータを受け取ります。
sort_column
(string): ページをソートする列(デフォルトは ‘menu_order’)。sort_order
(string): ソート順(’asc’ または ‘desc’)。parent
(int): 親ページのID。exclude
(string): 除外するページIDのカンマ区切りリスト。include
(string): 含めるページIDのカンマ区切りリスト。meta_key
(string): メタフィールドのキー。meta_value
(string): メタフィールドの値。
戻り値
get_pages
関数は、WP_Post オブジェクトの配列を返します。
関連する関数
WordPressバージョン
get_pages
関数は、全てのバージョンのWordPressで利用可能です。
コアファイルのパス
get_pages
関数は、wp-includes/post.php
内に定義されています。
この関数のアクションでの使用可能性
アクション名 | 使用可能性 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | 〇 |
wp | |
template_redirect | |
get_header | |
wp_head |
サンプルコード
サンプルコード1: 固定ページ一覧の取得
このサンプルコードでは、すべての固定ページを取得し、そのタイトルを表示します。
$pages = get_pages();
foreach ( $pages as $page ) {
echo '<h2>' . esc_html( $page->post_title ) . '</h2>';
}
サンプルコード2: 特定の親ページの子ページを取得
このサンプルコードでは、特定の親ページからその子ページを取得して表示します。
$args = array(
'parent' => 42, // 親ページのID
);
$child_pages = get_pages( $args );
foreach ( $child_pages as $child ) {
echo '<li>' . esc_html( $child->post_title ) . '</li>';
}
サンプルコード3: 固定ページをメニュー順で取得
このサンプルコードでは、メニュー順にソートして固定ページを取得し、リスト表示します。
$args = array(
'sort_column' => 'menu_order',
'sort_order' => 'asc',
);
$sorted_pages = get_pages( $args );
foreach ( $sorted_pages as $page ) {
echo '<li>' . esc_html( $page->post_title ) . '</li>';
}
サンプルコード4: 特定のページを除外して取得
このサンプルコードでは、特定のページIDを除外して固定ページを取得します。
$args = array(
'exclude' => '10,20', // 除外するページID
);
$pages = get_pages( $args );
foreach ( $pages as $page ) {
echo '<h2>' . esc_html( $page->post_title ) . '</h2>';
}
サンプルコード5: メタキーでページをフィルタリング
このサンプルコードでは、カスタムメタキーを持つ固定ページを取得して表示します。
$args = array(
'meta_key' => 'special_feature',
'meta_value' => 'yes',
);
$special_pages = get_pages( $args );
foreach ( $special_pages as $page ) {
echo '<h2>' . esc_html( $page->post_title ) . '</h2>';
}
これらのサンプルコードはすべて著作権フリーです。