【WP】よく使うループのクエリパラメータ引数の書きとめ

2021/10/12

2021/10/18

1362 views

WPループクエリのパラメータ

ワードプレスのループで指定するクエリのパラメーター及びステータス・引数のメモ書きです。

よく使うものだけを掲載しています。

‘post_type’(投稿のタイプ)のパラメータ

post_type‘は、投稿のタイプを指定ができます。

‘post’ 投稿
‘page’ 固定ページ
‘カスタム投稿タイプ(※スラッグ)’ カスタム投稿

記述例

$args = array(
'post_type' => 'page', //固定ページを取得
);

‘orderby’(取得順ルール)のパラメータ

orderby‘は、投稿の取得順ルールが指定できます。

‘none’ 順序をつけない
‘ID’ 投稿IDで並べる
‘author’ 著者で並べる
‘title’ タイトルで並べる
‘date’ 日付で並べる
‘modified’ 更新日で並べる
‘parent’ 投稿/固定ページの親ID順で並べる
‘rand’ ランダムに並べる
‘comment_count’ コメント数で並べる
‘menu_order’ 管理画面上の表示順で並べる
‘meta_value’ カスタムフィールドの値で並べる
‘meta_value_num’ カスタムフィールドを数値順で並べる
‘post__in’ 配列に並んだ投稿IDの順に並べる

記述例

$args = array(
  'orderby' => 'menu_order'  //管理画面上の並び順
);

‘order’(昇順か降順)のパラメータ

orderby‘は、投稿の表示順の昇順か降順が指定できます。

‘ASC’ 昇順
‘DESC’ 降順

記述例

$args = array(
  'order' => 'ASC',  //昇順
);

‘post_status’(投稿の状態)のパラメータ

post_status‘は、投稿の状態で取得の指定ができます。

‘publish’ 公開された投稿もしくは固定ページ
‘pending’ レビュー待ちの投稿
‘draft’ 下書きの投稿
‘future’ 予約公開設定された投稿
‘private’ ログインユーザーのみ見れる投稿

記述例

$args = array(
  'post_status' => 'publish', //公開済みのページのみ取得
);

日付や時間の指定パラメータ

投稿の日付や時間で指定したい時のパラメータです。

‘year’
‘monthnum’
‘w’ 年内の週番号(1から53)
‘day’
‘hour’
‘minute’
‘second’ 
‘m’ 年と月で指定

記述例

$args = array(
  'year' => 2020,    //年の指定
  'mouthnum' => 4,   //月の指定
  'w' => 26,          //週番号の指定
  'day' => 30,       //日の指定
  'hour' => 11,      //時間の指定
  'minute' => 6,     //分の指定
  'second' => 7,     //秒の指定
  'm' => 202103      //年と月で指定
);

特定の投稿・固定ページの指定パラメータ

特定の投稿や固定ページを指定したい時のパラメータです。

‘p’ 投稿IDで指定
‘title’ 投稿のタイトル
‘name’ 投稿のスラッグ
‘page_id’ 固定ページのID
‘pagename’ 固定ページのスラッグを指定
‘post_parent’ 固定ページの親IDを指定
‘post__in’ 投稿IDを配列で複数指定
‘post__not_in’ 省きたい投稿IDを配列で指定

記述例

$args = array(
  'p' => 7,                      //投稿IDの指定
  'name' => 'coffee',          //投稿スラッグの指定
  'page_id' => 12,                //固定ページIDの指定
  'pagename' => 'shop',      //固定ページスラッグの指定
  'post_parent' => 3,            //親IDの指定
  'post__in' => array(2, 8, 13),  //投稿IDを配列で指定
  'post__not_in' => array(2, 7),  //省きたい投稿のIDを配列で指定
);

1ページあたりの取得数・ページ送りの指定

1ページあたりのループの取得数と、ページ送りの指定パラメータです。

‘posts_per_page’ 1ページでの表示ループ数の設定
‘posts_per_archive_page’  
‘paged’  

記述例

$args = array(
  'posts_per_page' => 20,           //取得する投稿数の指定
  'posts_per_archive_page' => 20,   //取得する投稿数の指定(アーカイブ専用)
  'paged' => $paged,                //現在のページ番号の指定
);

カテゴリーの指定

投稿のカテゴリーによって指定するパラメータです。

記述例

$args = array(
  'cat' => 5,
  'category_name' => 'food, drink',
  'category__and' => array( 3, 7 ), //3かつ7
  'category__in' => array( 4, 8 ), //4または8
  'category__not_in' => array( 2, 4 ) //2,4以外
);

タグの指定

投稿のタグで指定するパラメータです。

記述例

$args = array(
  'tag_id' => 5,
  'tag' => 'html+css',
  'tag__and' => array( 1, 6 ),
  'tag__in' => array( 1, 6 ),
  'tag__not_in' => array( 1, 6 ),
  'tag_slug__and'=> array( 'html', 'css' ),
  'tag_slug__in'=> array( 'html', 'css' )
);

タクソノミーの指定

タクソノミーで指定するパラメータです。

‘tax_query’  
‘taxonomy’  
‘field’  
‘operator’  
‘include_children’  
‘relation’  

記述例

$args = array(
  'tax_query' => array(                      //タクソノミーに関する指定を定義
    'relation' => 'AND',                     //条件1,2をどのような関係で指定するか
    //条件1
     array(
        'taxonomy' => 'menu',              //タクソノミー名を指定
        'field' => 'id',                    //タームの指定をIDで指定するか、slugで指定するか
        'terms' => array(10, 34, 55),    //タームをIDで指定
        'operator' => 'AND',                //'terms'をどの関係で指定するか
        'include_children' => false,        //子タクソノミーを含めるかどうか
     ),
     //条件2
     array(
        'taxonomy' => 'menu',
        'field' => 'slug',
        'terms' => 'action',                //タームをスラッグで指定('field'が'slug'なので)
     )
    )
);

まとめ

ループのクエリパラメータを指定することで、特定のカテゴリーや、日付アーカイブなどさまざまな投稿一覧ページやウィジェット出力が可能になります

ワードプレスをテーマから開発するうえでは必須の操作となりますので、使いこなせるようになりましょう。

不明なことがあればお気軽にコメントください。

この記事へのコメント

  • まだ書き込みはありません

このサイトの表示速度はどうですか?

当サイトはレンタルサーバーにConoHa WING(コノハウイング)を使っていますよ。

ページの先頭に戻る