Wordpress pre_get_postsアクションフック is_main_query()

functions.php

-------

/*----- クエリ ------*/
function my_pre_get_posts($query) {
// 管理画面 or メインクエリ 以外には設定しない
if(is_admin() || $query->is_main_query()) { # is_main_query => 現在のクエリがメインクエリかどうかを判断する。
return;
}
// トップページの場合
if($query->is_home()) {
$query->set('posts_per_page', 5);
return;
}
}
add_action('pre_get_posts', 'my_pre_get_posts');

-----------

$query->set('パラメータ名', '値');

例)お知らせカテゴリーに属する記事

if($query->is_home() ) {

    $query->set('category_name', 'sragu');  // ⇦ 2番目の引数の、値はスラッグ名。

    return;

}

例)カテゴリーページ 全件出力

if($qiery->is_category() ) {

   $query->set('nopaging', true); // ⇦ nopaging ページングをせずに、すべての記事を表示。(is_category) => カテゴリーを出力

}