WordPressのWP_Queryについて
WordPressでアーカイブにて投稿・ループなどをカスタマイズする業務すすめる上で、WP_Query関数を知りました。
まだまだ理解が浅いですので勉強中ですが、簡単にまとめます。
WP_Queryとは
wp-includes/class-wp-query.php に定義されているクラスで、
どのような投稿データを持っているかを取得するものらしいです。
これに詳細なデータをリクエストをすることで複雑なループなども可能になるようです。
正直結構難しく、パラメータもたくさんあるので、
わかりやすくまとめられているこのページを見たりして理解を深めました。
wpdocs.osdn.jp
パラメータの例
Posts_per_page(整数)
1ページあたりにどれだけ投稿を表示させるか。
order
投稿の並びを、降順(DESC)か昇順(ASC)にするか。
orderby
並び順の指定。
日付やタイトル、投稿ID、ランダムなど、並び順を制御できる。
例)
'orderby' => 'date', 'order' => 'ASC',
category_name
カテゴリーのスラッグ(カテゴリ名ではありません)を指定して表示させる。
例)
$query = new WP_Query( 'category_name=staff' );
とすることで、"staff"スラッグの記事だけが投稿で表示される。
'post__not_in ' (array)
省きたい投稿IDを配列で指定。
例)
'post__not_in' => array(1,2,10),
とすることで、1,2,10のカテゴリIDの記事が投稿で除外される。
'category__not_in'(array)
省きたいカテゴリ ID の配列。指定した複数のカテゴリーのいずれにもに含まれない投稿のみを表示。