페이지 번호 링크의 표시 범위 지정하기

모든 페이지 번호를 표시하면 페이지 수가 증가할 때 마다 페이지 번호도 증가한다. 따라서 표시 중인 페이지 번호를 중심으로 앞뒤 2페이지씩만 링크를 표시한다.

pagenation.php

<p class=”pagenation pagenum”>

<?php $maxpage = $wp_query->max_num_pages;
$current = $paged;
if(!$current) {$current = 1;} ?>

<?php $sidenum = 2; //앞뒤로 표시하는 페이지 수 지정
$shownum = $sidenum * 2 + 1; //위의 지정을 기본으로 전부 몇 개의 페이지 번호를 표시하는지 계산
//표시 중인 페이지에 따라서 표시할 페이지 번호의 범위를 계산하고, 표시를 시작하는 번호를 $start에 대입하고, 종료하는 번호를 $end에 대입한다.
if($current > $sidenum && $current < $maxpage-$sidenum+1){
$start = $current – $sidenum;
$end = $current + $sidenum;
} elseif($current <= $sidenum) {
$start = 1;
$end = min($shownum,$maxpage);
} else {
$start = max($maxpage-$shownum+1,1);
$end = $maxpage;
} ?>

<?php previous_posts_link(‘&lt;’); ?>
<?php for($i=$start; $i <= $end; $i++): ?> $start로부터 $end까지 출력하도록 지정
<?php if($i == $current): ?>
<span><?php echo $i; ?></span>
<?php else: ?>
<a href=”<?php echo get_pagenum_link($i); ?>”><?php echo $i; ?></a>
<?php endif; ?>
<?php endfor; ?>
<?php next_posts_link(‘&gt;’); ?>

</p>

출처: 바꾸면서 배우는 워드프레스 디자인

“페이지 번호 링크의 표시 범위 지정하기”에 대한 한개의 댓글

답글 남기기