サイト内検索

Blog > WordPress > query_postsで指定できるパラメーター


2009.11.07

category: WordPress

query_postsで指定できるパラメーター

指定できるパラメーターがたくさんあり、細かい指定もできるので、アーカイブの表示などにとても便利に使えるquery_postsですが、覚えられないので備忘録としてまとめておきます。

基本的に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よりも小さい投稿を取得する。
比較演算子のデフォルトは「=」だが、他にも「!=」、「>」、「>=」、「<」、「<=」が使用可能。
関連投稿

posted on 2009.11.07 10:15pm

Comment and Trackback
Trackback URL
mugi531@2009年11月26日 10:31 PM

記事の取得条件を細かく指定したい時に

mugi531@2009年11月26日 10:31 PM

記事の取得条件を細かく指定したい時に

note » カテゴリー別記事一覧のメニューを表示 |note@2010年1月22日 3:01 PM

[...] http://www.understandard.net/wordpress/wp009.html [...]

yuto.sasaki@2010年4月26日 12:32 PM

固定ページI

WordPress のカスタムフィールドの値で記事をソートする方法 | ウェブル@2010年7月20日 1:07 AM

[...] ちなみに今回参考にさせていただいた記事は以下です。 WordPress › フォーラム » 投稿をカスタムフィールド値でソートし、更に時系列に並べる query_postsで指定できるパラメーター | WordPress | understandard.net [...]