iviniDesigner

Páginacao em single.php Wordpress

Jun 12th, 2013
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.66 KB | None | 0 0
  1.  <?php
  2. /**
  3. Com a ativação dos permalinks, de forma alguma funcionava a páginação usando o plugin wp_pagenavi,
  4. então com o uso da função paginate_links, consegui fazer com que sumisse aquela chatisse page/2, que não ia pra lugar algun.
  5. lembrando que este código é só da páginação, e a variavel $outros refere-se a uma instância da class WP_Query($args).
  6. $outros = WP_Query($args)
  7. */
  8.         //Total de paginas
  9.    
  10.     // a variavel $outros  é uma instância do WP_Query($args), nesse caso um loop customizado.
  11.      $total = $outros->max_num_pages;
  12.  
  13.                  
  14.                             if ( $total > 1 )  {
  15.                 /// como está usando links permanente, não ha necessidade da "paged", pegue a "page" neste caso.
  16.  
  17.                                 if ( !$current_page = get_query_var('page') )
  18.  
  19.                                             //defino a página corrente para o padrão um
  20.                         $current_page = 1;
  21.                                
  22.                                         $big = 999999999;
  23.                     ///aqui é o grande trunfo,
  24.                     /**
  25.                         pois com os links permanentes ativados, posso fazer example.com/algum_post/2, em vez de
  26.                         example.com/algum_post/page/2
  27.                        
  28.                     */
  29.                                         $base = str_replace( $big, '%#%', get_pagenum_link( $big ) );
  30.                     /**
  31.                     o uso da função preg_match, vai exatamente onde eu quero, pegar a página corrente
  32.                     */
  33.                                         $base = preg_match('/%#%/i', $base,$matches);
  34.                                     /* verifico se tem link estruturado*/
  35.                                     $permalink_structure = get_option('permalink_structure');
  36.                     /*defino o formato do link*/
  37.                                     $format = empty( $permalink_structure ) ? '&page=%#%' : $_SERVER['REQUEST_URI'].$matches[0];
  38.                  //pra num ter que estilizar novamente usei a mesma class do wp-pagenave
  39.                                     echo "<div class='wp-pagenavi'>";
  40.                                     echo paginate_links(array(
  41.                                         'base' => get_bloginfo('home')."/".$wp_query->post->post_name."/".$matches[0]."/?           posts=".$_GET['posts'], // esse é o cara
  42.                                         'current' => $current_page,
  43.                                         'format'=>$format,
  44.                                         'total' => $total,
  45.                                         'mid_size' => 4,
  46.                                         'type' => 'plain'
  47.                                     ));
  48.                                     echo "</div>";
  49.                                 }
  50.                     ?>
  51.                 </section>
Advertisement
Add Comment
Please, Sign In to add comment