Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // buid-in page navigation; inspired by 'wp-pagenavi'
- function page_navi() {
- global $wpdb, $wp_query;
- $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 = 5;
- $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) :
- echo '<div class="wp-pagenavi">';
- //one step back
- if($paged>1) {
- echo '<a class="first" href="'.get_pagenum_link($paged-1).'" title="link to '.get_pagenum_link($paged-1).'"><small><</small> back</a> '; }
- //jump to first page
- if($start_page!=1) :
- if($paged==1) { //echo '<span class="first">1 «</span>';
- } else {
- echo '<a class="first" href="'.get_pagenum_link(1).'" title="link to '.get_pagenum_link(1).'">1 «</a> '; }
- endif;
- //centimal steps 100 steps back
- if($paged>110) :
- echo '<a '; echo 'href="'.get_pagenum_link($paged-100).'" title="link to '.get_pagenum_link($paged-100).'">-100</a> ';
- endif;
- //decimal steps 10 steps back
- if($paged>11) :
- echo '<a '; echo 'href="'.get_pagenum_link($paged-10).'" title="link to '.get_pagenum_link($paged-10).'">-10</a> ';
- endif;
- //from-to
- for($i=$start_page;$i<=$end_page;$i++) :
- if($i==$paged) { echo '<span class="current">'.$i.'</span>';
- } else {
- echo '<a '; echo 'href="'.get_pagenum_link($i).'" title="link to '.get_pagenum_link($i).'">'.$i.'</a>'; }
- endfor;
- //decimal steps 10 steps forward
- if($paged<=$max_page-11) :
- echo ' <a '; echo 'href="'.get_pagenum_link($paged+10).'" title="link to '.get_pagenum_link($paged+10).'">+10</a>';
- endif;
- //centimal steps 100 steps forward
- if($paged<=$max_page-110) :
- echo ' <a '; echo 'href="'.get_pagenum_link($paged+100).'" title="link to '.get_pagenum_link($paged+100).'">+100</a>';
- endif;
- //jump to last page
- if($max_page>$end_page) :
- if($paged==$max_page) { //echo '<span class="last">» '.$max_page.'</span>';
- } else {
- echo ' <a class="last" href="'.get_pagenum_link($max_page).'" title="link to '.get_pagenum_link($max_page).'">» '.$max_page.'</a>'; }
- endif;
- //one step forward
- if($paged<$max_page) {
- echo ' <a class="first" href="'.get_pagenum_link($paged+1).'" title="link to '.get_pagenum_link($paged+1).'">next <small>></small></a> '; }
- echo '</div>';
- endif;
- }
- // end of page_navi() function
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement