ページネーションも一筋縄ではいかないので毎回Google先生のお世話になります。
今日もまた未来の自分のためにコピペ用の記事を書いておきます。
基本のページネーション
<?php
$args = array(
'mid_size' => 1,
'prev_text' => '<<前へ',
'next_text' => '次へ>>',
'screen_reader_text' => ' ',
);
the_posts_pagination($args);
?>
固定ページのページネーション
<?php
global $wp_rewrite;
$paginate_base = get_pagenum_link(1);
if(strpos($paginate_base, '?') || !$wp_rewrite->using_permalinks()){
$paginate_format = '';
$paginate_base = add_query_arg('paged','%#%');
}else{
$paginate_format = (substr($paginate_base,-1,1) == '/' ? '' : '/') .
user_trailingslashit('page/%#%/','paged');
$paginate_base .= '%_%';
}
echo paginate_links(array(
'base' => $paginate_base,
'format' => $paginate_format,
'total' => $the_query->max_num_pages,
'mid_size' => 1,
'current' => ($paged ? $paged : 1),
'prev_text' => '< 前へ',
'next_text' => '次へ >',
));
?>
投稿ページのページネーション
前の記事・次の記事へのリンク
<div class="post_pagination">
<?php $nextpost = get_adjacent_post(false, '', false); if ($nextpost) : ?>
<div class="post_pagination_prev">
<a href="<?php echo get_permalink($nextpost->ID); ?>">
<span class="post_pagination_prev_img"><?php echo get_the_post_thumbnail($nextpost->ID); ?></span>
<span class="post_pagination_prev_text">«<?php echo esc_attr($nextpost->post_title); ?></span>
</a>
</div>
<?php endif; ?>
<?php $prevpost = get_adjacent_post(false, '', true); if ($prevpost) : ?>
<div class="post_pagination__next">
<a href="<?php echo get_permalink($prevpost->ID); ?>">
<span class="post_pagination_next_img"><?php echo get_the_post_thumbnail($prevpost->ID); ?></span>
<span class="post_pagination_next_text"><?php echo esc_attr($prevpost->post_title); ?>»</span>
</a>
</div>
<?php endif; ?>
</div>