get_pages

説明

array get_pages( [ mixed $args = '' ] )
固定ページを取得する。

パラメータ

  • $args
    検索条件を文字列または連想配列で指定(省略時は'')。主なキーワードは次の通り。
    キーワード意味
    child_of子孫のページを取得するための親固定ページのID(省略時は0)
    sort_order並び順として'ASC'か'DESC'を指定(省略時は'ASC')。
    sort_columnソート対象として'ID'、'post_title'、'menu_order'などのカラム名か'rand'、'comment_count'を指定(省略時は'post_title')
    hierarchical下階層を取得する場合は1、しない場合は0を指定(省略時は1)
    exclude除外する固定ページのID(省略時はarray())
    include取得する固定ページのID(省略時はarray())
    meta_keyカスタムフィールドの名前(省略時は'')
    meta_valueカスタムフィールドの値(省略時は'')
    authors投稿者ID。複数指定する場合は空白文字かカンマで区切る(省略時は'')
    parent親の固定ページのID(省略時は-1)
    exclude_tree除外する親固定ページのID(省略時は'')
    number取得件数(省略時は'')
    offset取得位置を示すオフセット(省略時は0)
    post_type投稿情報タイプ(省略時は'page')
    post_status投稿ステータスを示す'auto-draft'、'draft'、'inherit'、'private'、'publish'、'any'など(省略時は'publish')

返り値

パラメータ$argsで指定された条件にマッチする固定ページ情報を配列で返す。マッチする固定ページがない場合は空の配列となる。固定ページ情報の内容は投稿情報と同じ(詳しくは $postを参照)。

注意

投稿ページを取得する get_posts関数の固定ページ版的な位置づけの関数で、検索条件のパラメータは多少異なっている。

includeパラメータを指定した場合は、以下のパラメータは強制的に書き換えられる。

キーワード書き換えられる値
child_of0
parent-1
exclude''
meta_key''
meta_value''
hierarchicalfalse(0)
child_of(省略時は0)

またchild_ofとparentキーワードの違いは、取得する階層にある。child_ofキーワードを指定した場合はそれ以下すべてが対象になるが、parentはその直下のみが対象になる。

[6.3.0]'get_pages_query_args'フィルターが追加された。


使用例

  • 公開されているすべての固定ページを取得する。
    <?php $pages = get_pages(); ?>
  • 文字列で条件を指定して固定ページを取得する。
    <?php $pages = get_pages( 'number=10' ); ?>
  • 連想配列で条件を指定して固定ページを取得する。
    <?php $pages = get_pages( array( 'number'=>10, 'offset'=>10) ); ?>

フィルター

[6.3.0]クエリーを実行する前に'get_pages_query_args'フィルターを呼び出す。パラメータ$query_argsには検索パラメータの連想配列が、$parsed_argsには展開された検索パラメータの連想配列が格納される。
$query_args = apply_filters( 'get_pages_query_args', $query_args, $parsed_args );
[2.1.0]取得した固定ページ情報を返す直前に'get_pages'フィルターが呼び出す。パラメータ$pagesには取得した固定ページ情報の配列が、$parsed_argsには展開された検索パラメータが格納される。
return apply_filters( 'get_pages', $pages, $parsed_args );

アクション

実行するアクションはありません。

ソースファイル

/wp-includes/post.php

最終更新 : 2023年08月10日 15:28



お勧め

フォーム内のエスケープ処理を考える(2018年10月19日 更新)

WordPressにはエスケープ処理を行う esc_html関数と esc_attr関数がある。HTML要素(タグ)の属性値ならesc_attr関数を、それ以外はesc_html関数を使うことがほとんどだが、今回esc_html関数が適していないと思われるケースに遭遇した。

適切なテンプレートファイルを用意してテンプレート内の振り分け処理を無くす(2019年5月24日 更新)

/wp-includes/template-loader.phpではリクエストされたページに応じて現在のテーマにあるテンプレートファイルの中から適切なものを選びに振り分けている。ここでは、さまざまなテンプレートファイルの種類と、テンプレートファイルが省略された場合の内部の動作についてまとめてみる。

テーブルブロックを定形に整える(2021年12月27日 更新)

ブロックエディターについて調べていると、「段落ブロックをもう少しカスタマイズした」で使ったRichTextShortcutとは別にショートカットキーを使うためのKeyboardShortcutsが見つかった。今回はこのKeyboardShortcutsを使ってテーブルブロックを定形に整える仕組みを考えてみた。

テーブルブロックを投稿メタ(カスタムフィールド)に保存する(2022年1月5日 更新)

ふと「テーブルブロックの内容を投稿メタ(カスタムフィールド)として保存できたら便利なのでは」と思い、投稿メタの使い方を調べてみた。

ブロックエディターで現在の「ロケール」を取得した時のメモ(2024年8月10日 更新)

ブロックエディター向けのプラグインで日本語固有の機能を実装する際、現在のロケール(言語)を取得したい。ブロックエディターの編集時、投稿を編集しているユーザーの言語が優先され、それをどうやって取得するかを「ChatGPT」に聞いてみたのだが。。。