WP_Query()

投稿日:2022-09-12 投稿者:PS カテゴリ:その他 タグ: , ,

各種データを取得する。

<?php // 例
$args = array(
  'tag_slug__in'=>['news', 'topics'], // ... タグの指定
  'posts_per_page'=>3, // .................. 最大表示件数
  'paged'=>empty($_GET['pg']) ? 1 : intval($_GET['pg'],10), // .. 現在のページ
  'orderby'=>'rand', // .................... 表示順
  'post__not_in' => array($post->ID) // .... 除外する記事(自身の記事)
);
$query = new WP_Query($args); 
if( $query->have_posts() ){
  while ($query->have_posts()){
    $query->the_post();
     ::
  }
}

引数

keytypedoc
orderstring“ASC” … 昇順”DESC” … 降順(初期値)
orderbystrting/array“none” …
“ID” …
“author” …
“title” …
“date” …
“modified” … 更新日
“parent” … 親ID
“rand” … ランダム
“comment_count” … コメント数
“menu_order” … 管理画面上の表示順
posts_per_pageint1ページ当たりの記事数
posts_per_archive_pageint1ページに含める投稿数。アーカイブページ専用で使用でき、is_archive()かis_search()が true になるページでは、’posts_per_page’と’showposts’の値より優先される。
pagedint何ページ目の情報を取得するかを指定する。基本的には現在のページ番号であるget_query_var(‘paged’)の値を指定して使う。
offsetintずらす(読み飛ばす)投稿の数。注意:’offset’パラメータをセットすると ‘paged’パラメータが無視されます。そのためページ送りされません。また、’posts_per_page’パラメータが-1のとき、このパラメータは無視されるので注意)。
nopagingbool
pageint静的フロントページ用のページ番号。
ignore_sticky_postsbool先頭固定表示の投稿の優先度を無視するかどうか。デフォルトは’false’で、そのまま先頭に表示します。’true’にすると先頭ではなく、通常のページと同様に扱われます。

カテゴリー で絞り込む引数

catintカテゴリのIDを指定
category_namestringカテゴリのslugを指定。, 区切りで OR 結合、+ 区切りで AND 結合。
category__andarrayカテゴリのIDを AND 結合で複数指定。
category__inarrayカテゴリのIDを OR 結合で複数指定。
category__not_inarray含めないカテゴリのIDを複数指定。

タグ で絞り込む引数

tag_idintタグのID
tagstringタグの slug を指定
, 区切りで OR 結合+ 区切りで AND 結合
tag_andarrayタグのIDを複数指定。すべてを含む(AND)もの。
tag_inarrayタグのIDを複数指定。いづれかを含む(OR)もの。
tag__not_inarray含めないタグのIDを複数指定。
tag_slug__andarray全てのタグのIDを含むもの。
tag_slug__inarrayいずれかのタグのIDを含むもの。

日付 で絞り込む引数

yearint年(4桁)
monthnumint
wint週番号
dayint
hourint
minuteint
secondint
mint年月

その他

pint投稿記事の ID を指定
sstring含まれる文字
titlestring投稿記事のタイトルを指定
namestring投稿の slug を指定
page_idint固定ページのIDを指定
pagenamestring固定ページの slug
post_parentint固定ページの親ページのID
post__inarray投稿IDを複数指定
post__not_inarray除外する投稿のIDを複数指定
post_typestring/array“post” … 投稿”page” … 固定ページ
post_statusstring/array“publish” … 公開記事(初期値)”private” … ログインしているユーザーの記事

参照値

key値例備考
$wp->post_count5表示記事数。総数ではなく、ページ内の数。
$wp->comment_count0コメントの数。
$wp->found_posts16抽出した総記事数。
$wp->max_num_pages2ページ数。