Tutoriais  29/03/2011 

Paginação de Posts

Mais uma funçãozinha daquelas que a gente adora para substituir o uso de plugins.
Como o nome já diz, faz a paginação de posts. Exemplo:

1. Abra o arquivo functions.php do seu tema e adicione:

function pagination($pages = '', $range = 5)
{
$showitems = ($range * 2)+1;
global $paged;
if(empty($paged)) $paged = 1;
if($pages == ''){
global $wp_query;
$pages = $wp_query->max_num_pages;
if(!$pages){
$pages = 1;
}
}
if(1 != $pages){
echo "<div class=\"pagination\"><span class=\"current\">Página ".$paged." de ".$pages."</span>";
if($paged > 1 && $showitems < $pages) echo "<a title=\"Anterior\" href='".get_pagenum_link($paged - 1)."'>&laquo;</a>";
for ($i=1; $i <= $pages; $i++)
{
if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems ))
{
echo ($paged == $i)? "<span class=\"current\">".$i."</span>":"<a title=\"Página $i\" href='".get_pagenum_link($i)."' class=\"inactive\">".$i."</a>";
}
}
if ($paged < $pages && $showitems < $pages) echo "<a title=\"Próxima\" href=\"".get_pagenum_link($paged + 1)."\">&raquo;</a>";
echo "</div>\n";
}
}

Lembrando que deve estar sempre dentro de <?php e ?>

2. Abra seu arquivo index.php do seu tema (se quiser também pode colocar no search.php e archive.php) e adicione onde quer que mostre a paginação:

<?php pagination()?>

3. Adicione ao seu arquivo CSS e modifique como quiser:

.pagination {
clear: both;
margin:3px 1px;
text-align:center;
}
.pagination a {
margin:3px 1px;
padding: 3px 6px;
color: #fff;
background-color: #a1a1a1;
}
.pagination a:hover,.pagination .current {
margin:3px 1px;
padding: 3px 6px;
color: #a1a1a1;
background-color: #f8f8f8;
}

Original daqui: wordpressapi.com, traduzido e modificado por mim.

Troquei a função desse tutorial porque o primeiro que postei, não funcionava corretamente na paginação dos arquivos.


TheJunior
12/07/2011 ・ 08:27

esse tutorial e o do madlyluv.com foram de extremos auxilios aqui… obrigado por compartilhar!!!

29/07/2011 ・ 23:59

mas onde tem que coloca a paginação?

01/10/2011 ・ 02:11

Muito obrigado por compartinhar! sempre procuro altermativas para plugins.
vlww.. p.s lindo o seu blog!! :8:

Manuelle
17/11/2011 ・ 15:24

olá thamara, resolvi pegar esse estilo de paginação sem plugin porque o meu page navi fiz de tudo e não funciona, vc clica na pagina seguinte o link muda mas a pagina não! daí procurei solução nos fóruns wp e consegui concertar no meu blog
http://metidaabesta.com

acontece que estou fazendo esse blog aqui também http://acasaderefugio.com onde o cod da index é igual ao meu e apesar de seguir os mesmos passos onde no meu funciona, nesse não está funcionando.
Então desabilitei o pagnavi plugin e fiz como vc ensinou, porém dá o mesmo erro. Você tem alguma sugestão para mim??
obrigada

04/02/2012 ・ 14:37

Tamara, esse tutorial não serve para o blogger correto?
como eu uso paginacao no blogger, vc saberia me dizer? ou indicar um tutorial?

obrigada,
beijos ;*

    04/02/2012 ・ 16:10

    Só serve em WP, para blogger não conheço 😉

26/07/2012 ・ 18:41

Recurso muito simples, prático e útil! Sem contar que me resolveu um problemão.
Muito obrigada por compartilhar! 🙂

05/01/2013 ・ 19:53

aaaah :24: , queria que podesse usar no blogger *-*

07/01/2013 ・ 20:37

excelente tutorial parabéns :23:

15/05/2013 ・ 14:48

Oi Tamara, me diz uma coisa e se minha paginação não for no index.php ? Como devo fazer? Segui seu tutorial porem não funciona… por que quando clico na paginação, ele me leva pra Home do Site.

    17/05/2013 ・ 07:53

    Essa paginação funciona no index.php, search.php e archive.php

20/06/2013 ・ 10:40

Bem legal , porem no meu , quando clico na pagina DOIS carrega o mesmo conteúdo do 1