質問: ワードプレスで全カテゴリのアーカイブページを作成しているのですが 最初のページで123> 次ページで<123> といったようなシンプルなものを作成したいです なんとなく自分で調べつつ作成したものを掲載します このやり方だと 12...6> といった感じになり...6を省き 表示する件数を3件を固定にしたいです。 ``` max_num_pages > 1) { echo paginate_links(array( 'base' => get_pagenum_link(1) . '%_%', 'format' => 'page/%#%/', 'current' => max(1, $paged), 'total' => $the_query->max_num_pages, 'end_size' => 0, 'mid_size' => 1, 'prev_text' => '<', 'next_text' => '>', )); } ?> ``` 表示する件数を3件に固定したいのですが 'mid_size' => 1, にするやり方をしてしまうと 最初のページで 12> といった表記になります。
回答: ぱっと見 ``` // $paged (表示中のページ) が最終ページ or 先頭ページなら mid_size =2, それ以外は 1 'mid_size' => $paged == $the_query->max_num_pages || $paged < 1 ? 2 : 1, ``` でいいんじゃないかなと思いましたが... Wordpress のコードを見たら `paginate_links()` の中で ``` $end_size = (int) $args['end_size']; // Out of bounds? Make it the default. if ( $end_size < 1 ) { $end_size = 1; } ``` こんな箇所がありまして、 `end_size` は 1 以上でなければ 1 にされてしまうようです。 よって、残念ながら `paginate_links()` を使う以上、 > > ...6を省き > > > の箇所がクリアできないということになります。 ということで、ゴリ押しですが ``` max_num_pages; ?> 0 && $paged == $max_num_pages): ?> 0): ?> ``` こんな感じにすれば目的は達成できるかなと思います。 いかがでしょうか。 もっと両側の表示件数増やしたいとかであればループでうまいこと頑張ってください。