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


WordPress 의 Archives 의 페이지간 네비게이션은 아래 그림처럼 이전, 다음 정도로만 표시되고,
전체 페이지 수가 얼마인지, 현재 보고 있는 페이지 번호는 무엇인지 알 수가 없다.
WordPress 는 목록을 네비게이션 할때 시간순으로 쌓인 Archive 에서 이전의 글들의 페이지를 보기 때문인지 « Previous Entries 라는 표현을 한 것 같다.
WordPress의 목록의 페이지번호 붙이기
 
그래서 찾았다. 페이지 번호를 붙여주는 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 을 첨부했다.







제휴 링크로 구매 시 제휴마케팅 활동의 일환으로 일정액의 수수료를 지급받아 콘텐츠를 제작하는데 큰 도움이 됩니다.



도움이 되셨다면, 댓글이나 소중한 커피 한 잔 부탁드려도 될까요?

커피 사주기
























당신이 좋아할 만한 글







연락처맵: 지도위의 고객관리
4.6
연락처를 지도에서 한눈에, 위치기반의 연락처관리, 내 근처의 연락처보기









3 Comments

Add a Comment

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다