2009-11-07
query_posts で指定できるパラメーター
指定できるパラメーターがたくさんあり、細かい指定もできるので、アーカイブの表示などにとても便利に使える query_posts ですが、覚えられないので備忘録としてまとめておきます。
こちら記事は古くなっています。
query_posts については、以下の記事にて解説されているように、別の方法で対処できることがほとんどです。
query_postsを捨てよ、pre_get_postsを使おう【追記あり】【報告あり】 | notnil creation weblog
基本的に WordPress Codex 内の query posts の内容を適当和訳してものです。
間違いがある可能性もあるので、ちゃんと確認したい方は本家を確認してください。
うっかり間違いを見つけてしまったかたは、ぜひコメント欄等で指摘してくださいませ。
カテゴリーから指定する
指定したカテゴリーに属する投稿を表示。
- cat
- カテゴリー ID を指定。
複数指定するならカンマで区切る。
除外したい場合はカテゴリー ID の前にマイナスを付けると指定できる。 - category_name
- カテゴリー名を指定(日本語も可)。
- category__and
- カテゴリー ID の配列。指定した複数のカテゴリーすべてに含まれる投稿のみを取得。
- category__in
- カテゴリー ID の配列。指定した複数のカテゴリーいずれかに含まれる投稿のみを取得。
- category__not_in
- カテゴリー ID の配列。指定したカテゴリーのいずれにもに含まれない投稿のみを取得。
配列関連はあんま使わないのでスルー。
タグ引数
指定したタグが付けられた投稿を表示。
- tag
- タグスラッグを指定。
or 指定するならカンマで区切る。
and 指定するならプラスでつなげる。 - tag__and
- タグ ID の配列。指定した複数のタグすべてを含む投稿のみを取得。
- tag__in
- タグ ID の配列。指定したタグのいずれかを含む投稿のみを取得。
- tag_slug__and
- タグスラッグの配列。指定した複数のタグすべてを含む投稿のみを取得。
- tag_slug__in
- タグスラッグの配列。指定したタグのいずれかを含む投稿のみを取得。
配列関連はあんま使わないのでスルー。
投稿者引数
投稿者を指定することで表示する投稿を制限。
- author
- 投稿を表示させたい投稿者の ID を指定。
マイナスを付ければ、その ID の投稿を除外。 - author_name
- 投稿を表示させたい投稿者のニックネーム(user_nicename に入ってるもの)を指定(日本語も可)。
投稿・固定ページ引数
- p
- 投稿 ID で指定。
- name
- 投稿スラッグで指定。
- page_id
- 固定ページ ID で指定。
- pagename
- 固定ページスラッグで指定。
- posts_per_page
- 1ページに出力する投稿数。-1の場合すべての投稿を出力。
- showposts
- 出力する投稿の数。
- post__in
- 取得する投稿 ID を配列で指定。
- post__not_in
- 除外する投稿 ID を配列で指定。
- post_type
- 投稿のデフォルトは「post」。
その他に、「any」、「attachment」、「page」、「revision」が使用可能。
「any」を指定すると、リビジョン以外の形式のものを取得できる。 - post_status
- 「publish」を指定すると公開済みのものを取得。
以下同様に、「pending」→レビュー待ち、「draft」→下書き、「future」→予約投稿、「private」→非公開、「trash」→ごみ箱(ver. 2.9以降)に分類されたものを取得できる。その他に、「inherit」→継承(添付ファイル、改訂履歴・自動保存のとき)がある(←よくわからん)。 - post_parent
- 指定した ID のページの子ページを取得。
配列関連はあんま使わないのでスルー。
日時引数
時間範囲を指定する際に使用するパラメーター。普通に使う可能性があるのは年月日くらいかな。
- hour
- 時間(0~23を指定可能)
- minute
- 分(0~60を指定可能)
- second
- 秒(0~60を指定可能)
- day
- 日(1~31を指定可能)
- monthnum
- 月(1から12を指定可能)
- year
- 年(2009のように4桁での年指定)
- w
- 週番号(0~53まで指定可能)
ページ引数
- paged
- インデックスやアーカイブページが複数わたる場合、何ページ目を表示するかを指定。
- order
- 取得したページの並び順。デフォルト値は「DESC」。ASC が小→大、DESC が大→小。
オフセット引数
- offset
- 取得投稿の先頭からスキップする投稿数を指定。
並び替え引数
取得した投稿をどの項目について並べるかを指定する。
- orderby=author
- 投稿者で並べる
- orderby=date
- 日付で並べる
- orderby=category
- カテゴリーで並べる(廃止予定?)
- orderby=title
- タイトルで並べる
- orderby=modified
- 変更順に並べる
- orderby=menu_order
- メニュー順に並べる
- orderby=parent
- 親順に並べる
- orderby=ID
- ID 順に並べる
- orderby=rand
- ランダムに並べる
- orderby=meta_value
- meta value の値で並べる。比較するための meta key の値をクエリーの中に入れること。
- orderby=none
- 並び変えない(ver. 2.8以降)
- orderby=comment_count
- コメント数順で並べる(ver. 2.9以降)
カスタムフィールド引数
カスタムフィールドのキー、値に基づいて投稿・ページを検索する。
- meta_key=
- カスタムフィールドの名前
- meta_value=
- カスタムフィールドの値
- meta_compare=
- 例: query_posts(‘meta_key=miles&meta_compare=<=&meta_value=22’);
上のように指定すると、比較対照は「miles」というメタキーの値。かつ、その値が22よりも小さい投稿を取得する。
比較演算子のデフォルトは「=」だが、他にも「!=」、「>」、「>=」、「<」、「<=」が使用可能。