wordpressのアーカイブページにページネーションを実装したいのですが
「前へ」と「次へ」の幅の大きさを変える方法が分からずに困っています
「function.php」
function the_pagination() { global $wp_query; $bignum = 999999999; if ( $wp_query->max_num_pages <= 1 ) return; echo '<nav class="pagination">'; echo paginate_links( array( 'base' => str_replace( $bignum, '%#%', esc_url( get_pagenum_link($bignum) ) ), 'format' => '', 'current' => max( 1, get_query_var('paged') ), 'total' => $wp_query->max_num_pages, 'prev_text' => '前へ', 'next_text' => '次へ', 'type' => 'list', 'end_size' => 3, 'mid_size' => 3 ) ); echo '</nav>'; }
「生成されるコード」
<nav class="pagination"> <ul class="page-numbers"> <li><a class="prev page-numbers" href="http://mutou3.local/news/page/1/">前へ</a> </li> <li><a class="page-numbers" href="http://mutou3.local/news/page/1/">1</a> </li> <li><span aria-current="page" class="page-numbers current">2</span> </li> <li><a class="page-numbers" href="http://mutou3.local/news/page/3/">3</a> </li> <li><a class="next page-numbers" href="http://mutou3.local/news/page/3/">次へ</a> </li> </ul>
試したこと
・first-of-type等を使用し区別しようとしたがページが偏移するとliが変更されるため、「前へ、次へ」が表示されていないページだと数字のwidthも変更されてしまい失敗
・function.phpのページネーションのコードに何かしらを追加してclass名を付与できないか調べたが該当するページが見当たらなかった
・class名「prev、next」を使用しaタグの幅にliを合わせるやり方を調べたが見当たらなかった
・'prev_text' => '← 前へ',
'next_text' => '次へ →',
と変更して文字数を変えたがliの幅に依存しているため折り返してしまった
・liの幅を指定しない状態を試したら見えなくなってしまい失敗
何を追加したら特定のliの幅を変化できるかわかる方ご回答よろしくおねがいします
SASS
margin-top:4rem; .page-numbers { text-align: center; li { margin: 0 2px; padding: 0; display: inline-block; background: $lightblue3; width: 50px; height: 50px; text-align: center; position: relative; border-radius: 10px; .current { background: $blue; border-radius: 10px; } a { vertical-align: middle; position: absolute; top: 0; left: 0; width: 100%; height: 100%; text-align: center; display: table; color: #fff; text-decoration: none; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease; span { display: table-cell; vertical-align: middle; } &:hover, &:active { color: #000; background: #ccf; border-color: #00f; border-radius: 10px; } } span { display: table-cell; vertical-align: middle; vertical-align: middle; position: absolute; top: 0; left: 0; width: 100%; height: 100%; text-align: center; display: table; color: #fff; text-decoration: none; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease; } .prev { } .next { } } } } コード
回答1件
あなたの回答
tips
プレビュー