Advertisement
Guest User

Untitled

a guest
Aug 18th, 2011
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 7.02 KB | None | 0 0
  1. // slimmed down non-plugin version of WP-PageNavi (2.50) by Lester 'GaMerZ' Chan http://lesterchan.net
  2. function appthemes_pagination($before = '', $after = '') {
  3.     global $wpdb, $wp_query;
  4.  
  5.     if (!is_single()) :
  6.         $pagenavi_options = array(
  7.                 'pages_text' => __('Page %CURRENT_PAGE% of %TOTAL_PAGES%','appthemes'),
  8.                 'current_text' => '%PAGE_NUMBER%',
  9.                 'page_text' => '%PAGE_NUMBER%',
  10.                 'first_text' => __('‹‹ First','appthemes'),
  11.                 'last_text' => __('Last ››','appthemes'),
  12.                 'next_text' => '››',
  13.                 'prev_text' => '‹‹',
  14.                 'dotright_text' => '',
  15.                 'dotleft_text' => '',
  16.                 'style' => 1,
  17.                 'num_pages' => 15,
  18.                 'always_show' => 0,
  19.                 'num_larger_page_numbers' => 3,
  20.                 'larger_page_numbers_multiple' => 10,
  21.         );
  22.  
  23.         $posts_per_page = intval(get_query_var('posts_per_page'));
  24.         $paged = intval(get_query_var('paged'));
  25.         $numposts = $wp_query->found_posts;
  26.         $max_page = $wp_query->max_num_pages;
  27.  
  28.         if(empty($paged) || $paged == 0) $paged = 1;
  29.  
  30.         $pages_to_show = intval($pagenavi_options['num_pages']);
  31.         $larger_page_to_show = intval($pagenavi_options['num_larger_page_numbers']);
  32.         $larger_page_multiple = intval($pagenavi_options['larger_page_numbers_multiple']);
  33.         $pages_to_show_minus_1 = $pages_to_show - 1;
  34.         $half_page_start = floor($pages_to_show_minus_1/2);
  35.         $half_page_end = ceil($pages_to_show_minus_1/2);
  36.         $start_page = $paged - $half_page_start;
  37.  
  38.         if($start_page <= 0) $start_page = 1;
  39.  
  40.         $end_page = $paged + $half_page_end;
  41.  
  42.         if(($end_page - $start_page) != $pages_to_show_minus_1) $end_page = $start_page + $pages_to_show_minus_1;
  43.  
  44.         if($end_page > $max_page) {
  45.             $start_page = $max_page - $pages_to_show_minus_1;
  46.             $end_page = $max_page;
  47.         }
  48.  
  49.         if($start_page <= 0) $start_page = 1;
  50.  
  51.         $larger_per_page = $larger_page_to_show*$larger_page_multiple;
  52.         $larger_start_page_start = (appthemes_round($start_page, 10) + $larger_page_multiple) - $larger_per_page;
  53.         $larger_start_page_end = appthemes_round($start_page, 10) + $larger_page_multiple;
  54.         $larger_end_page_start = appthemes_round($end_page, 10) + $larger_page_multiple;
  55.         $larger_end_page_end = appthemes_round($end_page, 10) + ($larger_per_page);
  56.  
  57.         if($larger_start_page_end - $larger_page_multiple == $start_page) {
  58.             $larger_start_page_start = $larger_start_page_start - $larger_page_multiple;
  59.             $larger_start_page_end = $larger_start_page_end - $larger_page_multiple;
  60.         }
  61.  
  62.         if($larger_start_page_start <= 0) $larger_start_page_start = $larger_page_multiple;
  63.         if($larger_start_page_end > $max_page) $larger_start_page_end = $max_page;
  64.         if($larger_end_page_end > $max_page) $larger_end_page_end = $max_page;
  65.  
  66.         if($max_page > 1 || intval($pagenavi_options['always_show']) == 1) :
  67.             $pages_text = str_replace("%CURRENT_PAGE%", number_format_i18n($paged), $pagenavi_options['pages_text']);
  68.             $pages_text = str_replace("%TOTAL_PAGES%", number_format_i18n($max_page), $pages_text);
  69.  
  70.             echo $before.'<div class="paging">'."\n";
  71.  
  72.             if(!empty($pages_text)) echo '<div class="pages"><span class="total">'.$pages_text.'</span>';
  73.  
  74.             if ($start_page >= 2 && $pages_to_show < $max_page) :
  75.                 $first_page_text = str_replace("%TOTAL_PAGES%", number_format_i18n($max_page), $pagenavi_options['first_text']);
  76.                 echo '<a href="'.esc_url(get_pagenum_link()).'" class="first" title="'.$first_page_text.'">'.$first_page_text.'</a>';
  77.  
  78.                 if(!empty($pagenavi_options['dotleft_text']))
  79.                     echo '<span class="extend">'.$pagenavi_options['dotleft_text'].'</span>';
  80.             endif;
  81.  
  82.             if($larger_page_to_show > 0 && $larger_start_page_start > 0 && $larger_start_page_end <= $max_page) :
  83.                 for($i = $larger_start_page_start; $i < $larger_start_page_end; $i+=$larger_page_multiple) {
  84.                     $page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($i), $pagenavi_options['page_text']);
  85.                     echo '<a href="'.esc_url(get_pagenum_link($i)).'" class="page" title="'.$page_text.'">'.$page_text.'</a>';
  86.                 }
  87.             endif;
  88.  
  89.             //echo '<span class="prevPage">';
  90.             // give us the previous post link
  91.             //previous_posts_link($pagenavi_options['prev_text']);
  92.             //echo '</span>';
  93.  
  94.             for($i = $start_page; $i  <= $end_page; $i++) :
  95.                 if($i == $paged) {
  96.                     $current_page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($i), $pagenavi_options['current_text']);
  97.                     echo '<span class="current">'.$current_page_text.'</span>';
  98.                 } else {
  99.                     $page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($i), $pagenavi_options['page_text']);
  100.                     if ( 'ad_listing' == $wp_query->query['post_type'] && is_tax( 'ad_cat' ) ) { ?>
  101.                         <form method="post" action="<?php echo esc_url(get_pagenum_link( $i ) ); ?>" name="pagination<?php echo esc_attr( $i ); ?>">
  102.                             <?php foreach ( $_POST as $key => $value ) :
  103.                                 if ( !is_array( $value ) ) : ?>
  104.                                 <input type="hidden" name="<?php echo esc_attr( $key ); ?>" id="<?php echo esc_attr( $key ); ?>" value="<?php echo esc_attr( $value ); ?>" />
  105.                                 <?php else :
  106.                                 foreach ( $value as $v ) : ?>
  107.                                     <input type="hidden" name="<?php echo esc_attr( $key ); ?>[]" id="<?php echo esc_attr( $key ); ?>[]" value="<?php echo esc_attr( $v ); ?>" />
  108.                                 <?php endforeach;
  109.                                 endif; ?>
  110.                             <?php endforeach; ?>
  111.                             <a href="javascript: void(0);" onclick="document.pagination<?php echo esc_attr( $i ); ?>.submit();"><?php echo esc_html( $page_text ); ?></a>
  112.                         </form>
  113.                     <?php } else {
  114.                         echo '<a href="'.esc_url(get_pagenum_link($i)).'" class="page" title="'.$page_text.'">'.$page_text.'</a>';
  115.                     }
  116.                 }
  117.             endfor;
  118.  
  119.             //echo '<span class="nextPage">';
  120.             // give us the next post link
  121.             //next_posts_link($pagenavi_options['next_text'], $max_page);
  122.             //echo '</span>';
  123.  
  124.             if($larger_page_to_show > 0 && $larger_end_page_start < $max_page) :
  125.                 for($i = $larger_end_page_start; $i <= $larger_end_page_end; $i+=$larger_page_multiple) {
  126.                     $page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($i), $pagenavi_options['page_text']);
  127.                     echo '<a href="'.esc_url(get_pagenum_link($i)).'" class="page" title="'.$page_text.'">'.$page_text.'</a>';
  128.                 }
  129.             endif;
  130.  
  131.             if ($end_page < $max_page) :
  132.                 if(!empty($pagenavi_options['dotright_text']))
  133.                     echo '<span class="extend">'.$pagenavi_options['dotright_text'].'</span>';
  134.  
  135.                 $last_page_text = str_replace("%TOTAL_PAGES%", number_format_i18n($max_page), $pagenavi_options['last_text']);
  136.                 echo '<a href="'.esc_url(get_pagenum_link($max_page)).'" class="last" title="'.$last_page_text.'">'.$last_page_text.'</a>';
  137.             endif;
  138.  
  139.             echo '</div><div class="clr"></div></div>'.$after."\n";
  140.  
  141.         endif;
  142.  
  143.     endif;
  144. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement