説明
パラメータ
- $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_of | 0 |
parent | -1 |
exclude | '' |
meta_key | '' |
meta_value | '' |
hierarchical | false(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 );
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」に聞いてみたのだが。。。