[WordPress] is_paged()で1ページ目か2ページ目以降かを判定

公開

スポンサーリンク

WordPressの関数is_paged()は、現在のページが2ページ目以降かどうかを判定する関数です。表示中のページが1ページ目の場合はfalseを、2ページ目以降の場合はtrueを返します。

使い道

よくあるブログスタイルのサイトだと、トップページには最近のエントリを順番に表示しています。同時に、サイドバーにも直近の記事一覧を表示していることが多いかと思います。

このままだと、トップページの1ページ目を表示中には、最近のエントリ一覧が2つ表示されることになってしまいます。そこで、1ページ目ではサイドバーに直近の記事一覧を表示せず、2ページ目以降から直近の記事一覧を表示することにしたとします。こういう場合にis_paged()は役立ちます。

<?php if( !is_home() || is_paged() ):?>
  <h3>最近の更新一覧</h3>
  <ul>
    <?php wp_get_archives('type=postbypost&limit=20&format=html');?>
  </ul>
<?php endif;?>

!is_home()でトップページ以外では最近の更新一覧が表示されることになります。これに、or条件でis_paged()を付け加えることで、トップページであっても2ページ目以降であれば最近の更新一覧が表示されることになります。

なお、表示中のページが固定ページかどうかを判定する関数が1文字違いのis_page()なので間違えないように気をつけましょう。

スポンサーリンク


Comment