・get_query_var(‘paged’)って何を表してる?
・(‘page’)と何が違う?
こんな疑問にお答えします。
wp_queryを回すとき、get_query_var(‘paged’)を記載することあるかと思います。
下記のように。
$paged = get_query_var('paged') ? get_query_var('paged') : 1;
$args = array(
'post_type' => 'post',
'posts_per_page' => 5,
'paged' => $paged,
); ?>
‘paged’ => $paged,という感じで、変数の値を渡すかと。。
でも実際これってなんなんだ?と最初思いますよね。
ということで、この記事では「get_query_var(‘paged’)」について解説していきます!
・get_query_var(‘paged’)とは?
・get_query_var(‘page’)との違い
目次
【解説】get_query_var(‘paged’)とは?
結論:get_query_var(‘paged’)とはページ番号を示します。
つまり現在のページ送り番号のこと。
ページネーションを使うときに、番号が表示されますよね。あの番号が、ページ番号を利用して表示されております。
1ページ目のページ番号は、pagedのクエリ変数が0となってしまいます。
ただ実際には1を表示したい。
そのために条件分岐を使って、0の場合は1にするという指定をしております。
get_query_var('paged') ? get_query_var('paged') : 1;
この条件分岐の意味としてはこちら↓
if (get_query_var('paged')) {
$paged = get_query_var('paged');
} else {
$paged = 1;
}
0の値は空文字と判定されるらしく、このif分だとelseの結果になります。
1ページ目はクエリ変数0となる仕様のため、elseの結果となり、1になるということ。
【解説】get_query_var(‘paged’)と(‘page’)との違い
get_query_var(‘paged’)ではなく、get_query_var(‘page’)を使う場合もあります。
$paged = (get_query_var('page')) ? get_query_var('page') : 1;
これの違いとしては、一覧ページか詳細ページどちらで取得するかです。
一覧ページ | get_query_var(‘paged’) |
詳細ページ | get_query_var(‘page’) |
一覧の場合は「paged」を使い、詳細の場合は「page」を使います。
get_query_var('paged') ? get_query_var('paged') : 1;
- home.php
- archive.php
- category.php など
$paged = (get_query_var('page')) ? get_query_var('page') : 1;
- page.php
- single.php
- front-page.php
home.phpではpagedを使うのに、front-page.phpではpageを使うのが注意点。
トップページとして使うのに、たった1文字違うだけで上手く機能しない原因につながるため、気をつけるべし!
【解説】get_query_var(‘paged’)とは?【(‘page’)との違い】:まとめ
- get_query_var(‘paged’)とはページ番号を示す
- 1ページ目は条件分岐を使って1を表示
- pagedとpageは固定ページか詳細ページかでの違い
get_query_var(‘paged’)はよく使うので覚えておこう!