ワードプレスのget_pages関数の使用方法・解説

概要

get_pages 関数は、WordPressの固定ページを取得するための関数です。この関数は、特定の条件に基づいて固定ページのリストを取得し、テーマやプラグインで表示する際に便利です。以下に、get_pages 関数がよく使用される機能を挙げます。

  1. 固定ページのナビゲーションメニューを生成する
  2. サイトマップを作成する
  3. 固定ページのリストをサイドバーに表示する
  4. 特定の親ページの子ページを表示する
  5. カスタムテンプレートで固定ページの一覧を表示する
  6. ページを特定の順序で表示する
  7. 特定のページを非表示にして他のページを取得する
  8. 固定ページにメタデータを付加して表示する

構文

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>';
}

これらのサンプルコードはすべて著作権フリーです。

この関数について質問する


上の計算式の答えを入力してください