Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- Com a ativação dos permalinks, de forma alguma funcionava a páginação usando o plugin wp_pagenavi,
- 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.
- 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).
- $outros = WP_Query($args)
- */
- //Total de paginas
- // a variavel $outros é uma instância do WP_Query($args), nesse caso um loop customizado.
- $total = $outros->max_num_pages;
- if ( $total > 1 ) {
- /// como está usando links permanente, não ha necessidade da "paged", pegue a "page" neste caso.
- if ( !$current_page = get_query_var('page') )
- //defino a página corrente para o padrão um
- $current_page = 1;
- $big = 999999999;
- ///aqui é o grande trunfo,
- /**
- pois com os links permanentes ativados, posso fazer example.com/algum_post/2, em vez de
- example.com/algum_post/page/2
- */
- $base = str_replace( $big, '%#%', get_pagenum_link( $big ) );
- /**
- o uso da função preg_match, vai exatamente onde eu quero, pegar a página corrente
- */
- $base = preg_match('/%#%/i', $base,$matches);
- /* verifico se tem link estruturado*/
- $permalink_structure = get_option('permalink_structure');
- /*defino o formato do link*/
- $format = empty( $permalink_structure ) ? '&page=%#%' : $_SERVER['REQUEST_URI'].$matches[0];
- //pra num ter que estilizar novamente usei a mesma class do wp-pagenave
- echo "<div class='wp-pagenavi'>";
- echo paginate_links(array(
- 'base' => get_bloginfo('home')."/".$wp_query->post->post_name."/".$matches[0]."/? posts=".$_GET['posts'], // esse é o cara
- 'current' => $current_page,
- 'format'=>$format,
- 'total' => $total,
- 'mid_size' => 4,
- 'type' => 'plain'
- ));
- echo "</div>";
- }
- ?>
- </section>
Advertisement
Add Comment
Please, Sign In to add comment