WordPressテックラボ

ページネーションの実装

ページネーションの実装は下記の通りです。

<?php 
$paginate_base = get_pagenum_link(1);
if ( strpos($paginate_base, '?') ) {
	$paginate_format	= '';
	$paginate_base		= add_query_arg('paged', '%#%');
} else {
	$paginate_format = (substr($paginate_base, -1 ,1) == '/' ? '' : '/') 
		. user_trailingslashit('page/%#%/', 'paged');
	$paginate_base .= '%_%';
}
$pg_navi	= paginate_links( array(
	'base'		=> $paginate_base,
	'format'	=> $paginate_format,
	'total'		=> $wp_query->max_num_pages,
	'mid_size'	=> 7,
	'current'	=> ($paged ? $paged : 1),
)); 
echo $pg_navi;
?>

記事の出力は下記の通りです。
query_posts()にpagedを渡しています。

<?php
query_posts( 'category__not_in=198&paged='.$paged );
while ( have_posts() ){
	// 投稿データをロードする
	the_post();
	// content.phpの読み込み
	get_template_part( 'content', get_post_format());
}
?>

関連記事