永遠少年症候群

永遠少年症候群

wordpressで次ページも続けて記事をナンバリングする

こんなtips必要な奴、私以外にいるのか? と思いつつメモ。

タイトル通り、wordpressで記事の一覧を表示する際に次ページも続けて記事をナンバリングしたい! というものです。順位ではない。
当サイトだとお題ページの一覧がそうなってます。次のページへいくと、21から番号が始まっている。

記事のナンバリング

そもそも記事を1ページ内にナンバリングして並べる場合、ループをolで挟み、ループ内の記事をliで挟みます。

先頭の数字を指定

olにstartプロパティを入れることで、どの数字から数え始めるか指定できます。
今回は、startに変数をセットすることで指定します。

どの数字を指定するかは、1ページに表示する記事数によって変わります。
現在のページ数を取得するには、グローバル変数$pagedを使います。この$paged、グローバル変数なのでもちろん関数を書く必要がありませんが注意点が一つ。1ページ目はなぜか0を返します。$pagedは0,2,3,4,5…となっていくわけです。
2ページ目以降を先に考えましょう。1番上の数字は各ページの記事数をXとした場合$paged*X-(X-1)となります。5記事ずつならば、$paged*5-4となり、10記事ならば、$paged*10-9ですね。
1ページ目は式に0を代入することとなりずれてしまうので、1ページ目だけは条件分岐して何も表示しない、デフォルトの1にする必要があります。
というわけで、上記のループの前のolは下記のようになります。 下記は20記事の場合。

という地味すぎるtipsでした。