Membuat Page Navigasi tanpa Plugins
Copy file di bawah ini ke dalam function.php pada template Kamu
### Function: Page Navigation: Boxed Style Paging
function wp_pagenavi($before = '', $after = '') {
global $wpdb, $wp_query;
$pagenavi_options = pagenavi_init();
if (!is_single()) {
$request = $wp_query->request;
$posts_per_page = intval(get_query_var('posts_per_page'));
$paged = intval(get_query_var('paged'));
$numposts = $wp_query->found_posts;
$max_page = $wp_query->max_num_pages;
/*
$numposts = 0;
if(strpos(get_query_var('tag'), " ")) {
preg_match('#^(.*)\sLIMIT#siU', $request, $matches);
$fromwhere = $matches[1];
$results = $wpdb->get_results($fromwhere);
$numposts = count($results);
} else {
preg_match('#FROM\s*+(.+?)\s+(GROUP BY|ORDER BY)#si', $request, $matches);
$fromwhere = $matches[1];
$numposts = $wpdb->get_var("SELECT COUNT(DISTINCT ID) FROM $fromwhere");
}
$max_page = ceil($numposts/$posts_per_page);
*/
if(empty($paged) || $paged == 0) {
$paged = 1;
}
$pages_to_show = intval($pagenavi_options['num_pages']);
$pages_to_show_minus_1 = $pages_to_show-1;
$half_page_start = floor($pages_to_show_minus_1/2);
$half_page_end = ceil($pages_to_show_minus_1/2);
$start_page = $paged - $half_page_start;
if($start_page <= 0) {
$start_page = 1;
}
$end_page = $paged + $half_page_end;
if(($end_page - $start_page) != $pages_to_show_minus_1) {
$end_page = $start_page + $pages_to_show_minus_1;
}
if($end_page > $max_page) {
$start_page = $max_page - $pages_to_show_minus_1;
$end_page = $max_page;
}
if($start_page <= 0) {
$start_page = 1;
}
if($max_page > 1 || intval($pagenavi_options['always_show']) == 1) {
$pages_text = str_replace("%CURRENT_PAGE%", number_format_i18n($paged), $pagenavi_options['pages_text']);
$pages_text = str_replace("%TOTAL_PAGES%", number_format_i18n($max_page), $pages_text);
echo $before.'<div class="wp-pagenavi">'."\n";
switch(intval($pagenavi_options['style'])) {
case 1:
if(!empty($pages_text)) {
echo '<span class="pages"> '.$pages_text.' </span>';
}
if ($start_page >= 2 && $pages_to_show < $max_page) {
$first_page_text = str_replace("%TOTAL_PAGES%", number_format_i18n($max_page), $pagenavi_options['first_text']);
echo '<a href="'.clean_url(get_pagenum_link()).'" title="'.$first_page_text.'"> '.$first_page_text.' </a>';
if(!empty($pagenavi_options['dotleft_text'])) {
echo '<span class="extend"> '.$pagenavi_options['dotleft_text'].' </span>';
}
}
previous_posts_link($pagenavi_options['prev_text']);
for($i = $start_page; $i <= $end_page; $i++) {
if($i == $paged) {
$current_page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($i), $pagenavi_options['current_text']);
echo '<span class="current"> '.$current_page_text.' </span>';
} else {
$page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($i), $pagenavi_options['page_text']);
echo '<a href="'.clean_url(get_pagenum_link($i)).'" title="'.$page_text.'"> '.$page_text.' </a>';
}
}
next_posts_link($pagenavi_options['next_text'], $max_page);
if ($end_page < $max_page) {
if(!empty($pagenavi_options['dotright_text'])) {
echo '<span class="extend"> '.$pagenavi_options['dotright_text'].' </span>';
}
$last_page_text = str_replace("%TOTAL_PAGES%", number_format_i18n($max_page), $pagenavi_options['last_text']);
echo '<a href="'.clean_url(get_pagenum_link($max_page)).'" title="'.$last_page_text.'"> '.$last_page_text.' </a>';
}
break;
case 2;
echo '<form action="'.htmlspecialchars($_SERVER['PHP_SELF']).'" method="get">'."\n";
echo '<select size="1" onchange="document.location.href = this.options[this.selectedIndex].value;">'."\n";
for($i = 1; $i <= $max_page; $i++) {
$page_num = $i;
if($page_num == 1) {
$page_num = 0;
}
if($i == $paged) {
$current_page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($i), $pagenavi_options['current_text']);
echo '<option value="'.clean_url(get_pagenum_link($page_num)).'" selected="selected" class="current">'.$current_page_text."</option>\n";
} else {
$page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($i), $pagenavi_options['page_text']);
echo '<option value="'.clean_url(get_pagenum_link($page_num)).'">'.$page_text."</option>\n";
}
}
echo "</select>\n";
echo "</form>\n";
break;
}
echo '</div>'.$after."\n";
}
}
}
Setelah itu include file di bawah ini:
<div class="navigation">
<?php wp_pagenavi(); ?>
</div>
ke dalam file index, dan search sesudah syntax berikut:
<?php endwhile; ?>
Selanjutnya include syntax di bawah ini ke dalam style.css
/*========= TOP NAVIGATION =========*/
/*- Navigation -*/
.navigation {
clear: both;
padding: 5px 40px 5px 12px;
}
.wp-pagenavi a {
padding: 2px 4px;
margin: 1px;
_margin: 1px;
text-decoration: none;
border: 1px solid #000000;
color: #000000;
background-color: #fff;
}
.wp-pagenavi a:hover {
border: 1px solid #e8a02c;
color: #e8a02c;
}
.wp-pagenavi span.pages, .wp-pagenavi span.current, .wp-pagenavi span.extend {
padding: 2px 4px;
_padding: 2px 0;
margin: 1px;
_margin: 1px;
border: 1px solid #000;
color: #000;
background-color: #fff;
}
mainkan CSSnya sesuka Kamu..
Semoga membantu


sob,gwe udah coba pake plugin WP-Pagenavi tp gwe g ngerti cara installnya. gwe uda coba ikutin petunjuknya tapi pas di kik page 2 malah artikel baru gwe yg muncul. harusnya kan artikel lama saya yang muncul. saya mau coba tutorial sobat ini,mana tau bisa.
ga bisa sob,blog gwe jadi malah berantakan. php endwhilenya jg g ada di index…
Daily Computer News
itu bisa @Dialy Computer News ?
apa saya mau pasangin code pagenya?
itu saya menggunakan plugin om jadinya T___T
wah pas diedit function nya, blogku jadi berantakan, jadi dihapus lagi ..btw, thanks dah share
dalam penempatan di function memang suka mengalami error, untuk itu hati2 mas..