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はその直下のみが対象になる。

使用例

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

フィルター

取得した固定ページ情報を返す直前にget_pagesフィルターが実行される。$pagesには、取得した固定ページ情報の配列が、$rには展開された検索パラメータが格納される。
$pages = apply_filters( 'get_pages', $pages, $r );

アクション

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

ソースファイル

/wp-includes/post.php

最終更新 : 2015年04月28日 10:17



お勧め

投稿ページでユニークなテンプレートを選択しよう(2018年5月27日 更新)

4.7の変更点に「投稿タイプテンプレート」がある。これは従来固定ページ('page')向けに任意のテンプレートを適用できる機能が拡張されたもので、投稿ページ('post')はもちろんカスタム投稿タイプのページにも適用可能になっている。

ブロックエディターの色設定を変えてみる(2019年12月11日 更新)

バージョン5.3で機能強化されたブロックエディター。対応を考えて新テーマ「Twenty Twenty」のソースコードを眺めていく。

5.3の新機能:日付とタイムゾーン(2019年10月2日 更新)

WordPress 5.3 Beta 1」に記載されていた「Time/Date component fixes」という見出し。開発者向として新しい関数の追加や多くのバグが修正されたとなっており、チェックせざるを得ない。

ショートコードを含んだページを表示する前に何か処理する(2014年5月28日 更新)

固定ページまたは投稿ページに独自のフォームを埋め込む。入力→登録の2段階のフォームなら著名なプラグイン「Contact Form 7」を利用すればいいのだが、クライアントの依頼は入力→確認→登録の3段階で組み込む要素が特化していたので、独自の実装方法を考えることになった。

Emojin:プラグイン作ってみました(2015年3月21日 更新)

ちょっと前のTLでiOSの絵文字を含んだ投稿を保存すると、絵文字以降の文章がすべて消えた状態で保存されるといったツイートを見かけた。少し検索してみると、MySQLのデータベースの文字セットが「utf8」の場合、iOSの絵文字のような4バイトの文字を正常に保存できず、それ以降の文章も保存されないというものらしい。対処方法としてデータベースの文字セットを「utf8mb4」に変更するのが有効らしいのだが、他に回避策がないか考えてみた。