Navegação numerada sem plugins

Acho que mais de metade das pessoas que usam WordPress estão com o plugin PageNavi para a navegação entre as páginas.

O que mais da metade dos usuários do WordPress não sabem é que dá pra usar a navegação entre páginas sem usar nenhum plugin. E ainda o que menos da metade dos usuários de WordPress sabem é que desde a versão 2.1 existe uma função que já adiciona isso automaticamente.

navegacao, wordpress, plugin, codigo, como, programacao

O melhor de tudo: ele consome muito menos recursos do que o plugin PageNavi e para usá-lo, apenas duas etapas são necessárias:

1. Crie a Função

Adicione o seguinte código ao functions.php:

//Paginacao de entradas
function wp_corenavi() {
  global $wp_query, $wp_rewrite;
  $pages = '';
  $max = $wp_query->max_num_pages;
  if (!$current = get_query_var('paged')) $current = 1;
  $a['base'] = str_replace(999999999, '%#%', get_pagenum_link(999999999));
  $a['total'] = $max;
  $a['current'] = $current;
 
  $total = 1; //1 - mostra o texto "Página N de N", 0 - para mostrar nada
  $a['mid_size'] = 5; //quantos links para mostrar a esquerda
  $a['end_size'] = 1; //quantos links para mostrar do comeco ao fim
  $a['prev_text'] = '« Anterior'; //texto para o link "Página seguinte"
  $a['next_text'] = 'Siguiente »'; //texto para o link "Página anterior"
 
  if ($max > 1) echo '<div class="navigation">';
  if ($total == 1 && $max > 1) $pages = '<span class="pages">Página ' . $current . ' de ' . $max . '</span>'."\r\n";
  echo $pages . paginate_links($a);
  if ($max > 1) echo '</div>';
}

2. Adicione a função a seu tema

Depois de ter salvo o código acima em seu tema no functions.php, adicione o código abaixo aonde deseja que apareça a navegação via código. Geralmente a primeira lima do footer.php:

<?php if (function_exists('wp_corenavi')) wp_corenavi(); ?>

O HTML Resultante da função:

<div class="navigation">
  <span class="pages">Página 7 de 27</span>
  <a class='prev page-numbers' href='http://seusite.com/page/6/'>« Anterior</a>
  <a class='page-numbers' href='http://seusite.com/page/1/'>1</a>
  <span class='page-numbers dots'>...</span>
  <a class='page-numbers' href='http://seusite.com/page/4/'>4</a>
  <a class='page-numbers' href='http://seusite.com/page/5/'>5</a>
  <a class='page-numbers' href='http://seusite.com/page/6/'>6</a>
  <span class='page-numbers current'>7</span>
  <a class='page-numbers' href='http://seusite.com/page/8/'>8</a>
  <a class='page-numbers' href='http://seusite.com/page/9/'>9</a>
  <a class='page-numbers' href='http://seusite.com/page/10/'>10</a>
  <span class='page-numbers dots'>...</span>
  <a class='page-numbers' href='http://seusite.com/page/27/'>27</a>
  <a class='next page-numbers' href='http://seusite.com/page/8/'>Seguinte »</a>
</div>
Rate this post

Quer aprender a ganhar dinheiro com Google Adsense em blogs?

Leonardo Rodrigues

Apaixonado por internet e curioso por SEO sempre está envolvido em algum projeto web. Você me encontra também no blog Negocio Seo e vê meus Projetos e Redes Sociais no AboutMe

Website: http://querocriarumblog.com.br

4 Comentários

  1. Fabiano Moier

    Como devo chamar essa paginação com WP_Query
    $args = array( ‘category_name’ => “blog”,
    ‘post_type’ => ”,
    ‘paged’ => get_query_var(‘paged’),
    ‘posts_per_page’ => 6 ,
    ‘orderby’=> ID ,
    ‘order’ => ASC ,
    );

Deixe uma resposta