WordPress의 목록의 페이지번호 붙이기

WordPress 의 Archives 의 페이지간 네비게이션은 아래 그림처럼 이전, 다음 정도로만 표시되고,
전체 페이지 수가 얼마인지, 현재 보고 있는 페이지 번호는 무엇인지 알 수가 없다.

WordPress 는 목록을 네비게이션 할때 시간순으로 쌓인 Archive 에서 이전의 글들의 페이지를 보기 때문인지 « Previous Entries 라는 표현을 한 것 같다.

page

그래서 찾았다. 페이지 번호를 붙여주는 plugin.

wpPaginate plugin

다운을 받아서 plugin 디렉토리에 넣고, activation 을 시킨 후에
사용하고 있는 테마의 arichve.php 을 열어서 아래와 같이 페이지 네비게이션 영역을 주석으로 처리하거나 삭제한다.

그리고, 그 자리에 코드를 써준다.

< ? print_pg_navigation() ?>

그러면 아래와 같이 바뀐다

page

웹의 페이지 번호 네비게이션에서 번호를 직접 클릭하는 것은 쉽지 않다.
특별히 몇 페이지를 가고자 하는 의도 보다는 이전, 다음을 보는 경우가 많다.
따라서 페이지번호에 이전, 다음 링크를 추가할 필요가 있다.

wpPaginate plugin 의 소스를 살펴 보니 가능할 것 같아서 코딩을 해서 아래 그림과 같이 만들 수 있었다.

page

소스코드의 추가할 부분은 다음과 같다.

Prev 와 Next 를 붙이기 위해서는 다음과 같은 소스코드를 추가한다.

if ($num_of_pages > 1) {

// 2005-09-25 ywchoi
if ($paged > 1){
$paginationNavigation .= " Prev ";
}
// 2005-09-25 ywchoi

for ($i = 1; $i < = $num_of_pages; $i++) {
//Make the navigation
//Make a link for page 1 and the last page, and for pages paged-$navpad to paged+$navpad
//Also make all page links if $briefnavigation == false
if ((!$briefnavigation) || ($i == 1 || $i == $num_of_pages || ($i > $lowtest && $i < $hightest))) {
if ($i != 1) {
$paginationNavigation .= $pageNavDivider;
}

//are we on the current page?
if ($paged != $i) {

$paginationNavigation .= "$i";
} else {
$paginationNavigation .= $i;
}
} else {
//Add the divider. If the string ends in an ellipsis (‘…’) then do nothing
if (!preg_match ("/\.\.\.\$/", $paginationNavigation)) {
$paginationNavigation .= $pageNavDivider."…";
}
}

} // end creating navigation

// 2005-09-25 ywchoi
if ($paged+1 != $num_of_pages){
$paginationNavigation .= " Next";
}
// 2005-09-25 ywchoi
}

이게 복잡하면 이것을 수정한 파일을 다운받아서 사용하면 된다.

wpPaginate plugin 에 Prev, Next 가 나오게 수정한 플러그인 wpPaginate.zip 을 첨부했다.




0 글이 마음에 드시면 하트를 눌러주세요~ 블로거에게 힘이 됩니다 (SNS/로그인/광고 관련 없습니다)


Related Post









이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받고 있습니다.
Scroll Up