WP_Query()
各種データを取得する。
<?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();
     ::
  }
}引数
| key | type | doc | 
|---|---|---|
| order | string | “ASC” … 昇順”DESC” … 降順(初期値) | 
| orderby | strting/array | “none” … “ID” … “author” … “title” … “date” … “modified” … 更新日 “parent” … 親ID “rand” … ランダム “comment_count” … コメント数 “menu_order” … 管理画面上の表示順 | 
| posts_per_page | int | 1ページ当たりの記事数 | 
| posts_per_archive_page | int | 1ページに含める投稿数。アーカイブページ専用で使用でき、is_archive()かis_search()が true になるページでは、’posts_per_page’と’showposts’の値より優先される。 | 
| paged | int | 何ページ目の情報を取得するかを指定する。基本的には現在のページ番号であるget_query_var(‘paged’)の値を指定して使う。 | 
| offset | int | ずらす(読み飛ばす)投稿の数。注意:’offset’パラメータをセットすると ‘paged’パラメータが無視されます。そのためページ送りされません。また、’posts_per_page’パラメータが-1のとき、このパラメータは無視されるので注意)。 | 
| nopaging | bool | |
| page | int | 静的フロントページ用のページ番号。 | 
| ignore_sticky_posts | bool | 先頭固定表示の投稿の優先度を無視するかどうか。デフォルトは’false’で、そのまま先頭に表示します。’true’にすると先頭ではなく、通常のページと同様に扱われます。 | 
カテゴリー で絞り込む引数
| cat | int | カテゴリのIDを指定 | 
|---|---|---|
| category_name | string | カテゴリのslugを指定。, 区切りで OR 結合、+ 区切りで AND 結合。 | 
| category__and | array | カテゴリのIDを AND 結合で複数指定。 | 
| category__in | array | カテゴリのIDを OR 結合で複数指定。 | 
| category__not_in | array | 含めないカテゴリのIDを複数指定。 | 
タグ で絞り込む引数
| tag_id | int | タグのID | 
|---|---|---|
| tag | string | タグの slug を指定 , 区切りで OR 結合+ 区切りで AND 結合 | 
| tag_and | array | タグのIDを複数指定。すべてを含む(AND)もの。 | 
| tag_in | array | タグのIDを複数指定。いづれかを含む(OR)もの。 | 
| tag__not_in | array | 含めないタグのIDを複数指定。 | 
| tag_slug__and | array | 全てのタグのIDを含むもの。 | 
| tag_slug__in | array | いずれかのタグのIDを含むもの。 | 
日付 で絞り込む引数
| year | int | 年(4桁) | 
|---|---|---|
| monthnum | int | 月 | 
| w | int | 週番号 | 
| day | int | 日 | 
| hour | int | 時 | 
| minute | int | 分 | 
| second | int | 秒 | 
| m | int | 年月 | 
その他
| p | int | 投稿記事の ID を指定 | 
|---|---|---|
| s | string | 含まれる文字 | 
| title | string | 投稿記事のタイトルを指定 | 
| name | string | 投稿の slug を指定 | 
| page_id | int | 固定ページのIDを指定 | 
| pagename | string | 固定ページの slug | 
| post_parent | int | 固定ページの親ページのID | 
| post__in | array | 投稿IDを複数指定 | 
| post__not_in | array | 除外する投稿のIDを複数指定 | 
| post_type | string/array | “post” … 投稿”page” … 固定ページ | 
| post_status | string/array | “publish” … 公開記事(初期値)”private” … ログインしているユーザーの記事 | 
参照値
| key | 値例 | 備考 | 
|---|---|---|
| $wp->post_count | 5 | 表示記事数。総数ではなく、ページ内の数。 | 
| $wp->comment_count | 0 | コメントの数。 | 
| $wp->found_posts | 16 | 抽出した総記事数。 | 
| $wp->max_num_pages | 2 | ページ数。 |