いつも大変お世話になっています。
行き詰まってしまいましたので質問させていただきます。
現在、MACとLocal by Flywheelの環境で、wordpressのアーカイブページなどを制作しています。
archive.phpやtaxonomy.phpのページに関数リファレンス/paginate linksを参考に、下記のコードを記載して、ページネーションをつけています。
wordpress
1<?php 2 3 global $wp_query; 4 $big = 999999999; 5 echo paginate_links( array( 6 'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ), 7 'format' => '?paged=%#%', 8 'current' => max( 1, get_query_var('paged') ), 9 'total' => $wp_query->max_num_pages, 10 'type' => 'list', 11 'mid_size' => '3', 12 'prev_text' => '<i class="pagination__arrow-left"></i>', 13 'next_text' => '<i class="pagination__arrow-right"></i>', 14 'before_page_number' => '', 15 ) ); 16 17?>
表示されるHTMLのソースは
html
1<ul class='page-numbers'> 2<li><span aria-current="page" class="page-numbers current">1</span></li> 3<li><a class="page-numbers" href="https://xxx.local/works/page/2/">2</a></li> 4<li><a class="next page-numbers" href="https://xxx.local/works/page/2/"><i class="pagination__arrow-right"></i></a></li> 5</ul>
のようなもので、関数リファレンス/paginate linksを見ながら、設定を変えたり、CSSで装飾して使ったりする文には問題は無かったのですが、ページ番号の 1 2 3 を 01 02 03 と1桁のときに頭にゼロをつけて表現するにあたって行き詰まってしまいました。
before_page_numberに0をつければ、9までは0が頭について思い通りになりますが、2桁以上の10 11などはそのまま表示したいです。
いろいろ検索する内に、ゼロ埋め、ゼロパディングという概念があることがわかり、それを含めて検索しましたが、解決しませんでした。
jqueryで、置き換えれないかと試してみましたが、対処が悪かったようで数字が置き換わったら、リンク含め消えていました。
1を01にという部分的な置き換えができませんでした。
'type' => 'list',の部分をarrayに変えてみたりもしましたが、出力のさせ方、01の表現の仕方がわかりませんでした。
paginate_links()を使用してページ「01、02、03、04」を生成する
のサイトにググっていく中で何度もたどり着きましたが、全体を理解することができずfunctionやarchive.phpにコードを貼ってもエラーとなりました。
1<を>01<に。>2<を>02<に、と9パターン置換ができればと思いましたが、中々うまくいきません。
そもそもの何か発想が間違っているのではないかとも思い、こちらに質問させていただきます。よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/13 08:20 編集