※ 今回は個人的にWordPressでページネーションを作成するとき用のメモです。
【WordPress】ページネーションの作成
HTML
<nav class="pagination"> <ul class="page-numbers"> <li> <a href="" class="page-numbers prev"> <span class="prev__span">PREV</span> </a> </li> <li> <a href="" class="page-numbers">1</a> </li> <li> <span class="page-numbers current">2</span> </li> <li> <a href="" class="page-numbers">3</a> </li> <li> <a href="" class="page-numbers">4</a> </li> <li> <a href="" class="page-numbers">5</a> </li> <li> <a href="" class="page-numbers">6</a> </li> <li> <a href="" class="page-numbers next"> <span class="next__span">NEXT</span> </a> </li> </ul> </nav>
そして、上記のコードはphpファイルでは以下のコードに置き換える。
<?php if( function_exists("the_pagination") ) the_pagination(); ?>
CSS
// ページネーション .pagination { ul.page-numbers { display: flex; justify-content: center; .page-numbers { display: inline-block; background-color: red; height: 60px; width: 60px; margin: 0 auto; text-align: center; line-height: 60px; font-size: 20px; } li { margin-left: 5px; margin-right: 5px; .prev { background-color: inherit; .prev__span { font-size: 20px; } } .next { background-color: inherit; } .current { background-color: gray; } } } }
functions.php
<?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, 'type' => 'list', 'end_size' => 3, 'mid_size' => 3 ) ); echo '</nav>'; } ?>