request; $posts_per_page = intval(get_query_var('posts_per_page')); $paged = intval(get_query_var('paged')); $numposts = $wp_query->found_posts; $max_page = intval($wp_query->max_num_pages); if (empty($paged) || $paged == 0) $paged = 1; $pages_to_show = intval($pagenavi_options['num_pages']); $larger_page_to_show = intval($pagenavi_options['num_larger_page_numbers']); $larger_page_multiple = intval($pagenavi_options['larger_page_numbers_multiple']); $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; $larger_pages_array = array(); if ( $larger_page_multiple ) for ( $i = $larger_page_multiple; $i <= $max_page; $i += $larger_page_multiple ) $larger_pages_array[] = $i; if ($max_page > 1 || intval($pagenavi_options['always_show'])) { $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.'
'."\n"; switch(intval($pagenavi_options['style'])) { // Normal case 1: if (!empty($pages_text)) { echo ''.$pages_text.''; } 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 ''.$first_page_text.''; if (!empty($pagenavi_options['dotleft_text'])) { echo ''.$pagenavi_options['dotleft_text'].''; } } $larger_page_start = 0; foreach($larger_pages_array as $larger_page) { if ($larger_page < $start_page && $larger_page_start < $larger_page_to_show) { $page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($larger_page), $pagenavi_options['page_text']); echo ''.$page_text.''; $larger_page_start++; } } 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 ''.$current_page_text.''; } else { $page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($i), $pagenavi_options['page_text']); echo ''.$page_text.''; } } next_posts_link($pagenavi_options['next_text'], $max_page); $larger_page_end = 0; foreach($larger_pages_array as $larger_page) { if ($larger_page > $end_page && $larger_page_end < $larger_page_to_show) { $page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($larger_page), $pagenavi_options['page_text']); echo ''.$page_text.''; $larger_page_end++; } } if ($end_page < $max_page) { if (!empty($pagenavi_options['dotright_text'])) { echo ''.$pagenavi_options['dotright_text'].''; } $last_page_text = str_replace("%TOTAL_PAGES%", number_format_i18n($max_page), $pagenavi_options['last_text']); echo ''.$last_page_text.''; } break; // Dropdown case 2; echo '
'."\n"; echo '\n"; echo "
\n"; break; } echo '
'.$after; } } ?>