A navegação padrão entre os posts no WordPress é bem precária. Geralmente, temos aquele “Older posts”, para retroceder uma página, e quando numa antiga, o “Newer posts”, para avançar à seguinte. Há variações, mas o sentido é sempre o mesmo, e você só pode avançar para as páginas contíguas à que está sendo exibida.
Veja como era o BlogAjuda, como mero exemplo:

Usabilidade zero, concordam? Isso sem falar na confusão que os termos “novas” e “antigas” geram. Nunca acerto de primeira qual é o termo correto, qual a tag correta, qual a ordem correta… Em suma, esta parte do tema sempre dá dor de cabeça.
Felizmente, o GaMerZ, que criou alguns dos plugins abordados num outro texto já publicado por aqui, também arquitetou um que resolve essa parte confusa de navegação entre posts. Trata-se do WP-PageNavi.
A instalação é aquela de sempre: upload do arquivo pagenavi.php para a pasta /wp-content/plugins, e ativação no painel administrativo. A diferença é que, neste caso, você precisará incluir uma tag especial num determinado local do tema. Para ser sincero, são em vários locais: na página inicial, nos resultados da pesquisa, nas categorias… Onde houver paginação de posts.
A tag é a seguinte:
<?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>
Para facilitar, basta você localizar as tags da navegação padrão do WordPress, e substituí-las pelo código acima. São elas:
<?php next_posts_link('« Entradas antigas') ?>
<?php previous_posts_link('Entradas recentes »') ?>
Geralmente elas vêm acompanhadas de algumas DIVs, que auxiliam no posicionamento. No caso do Barthelme, tema atual do BlogAjuda, está assim:
<div class="navigation">
<div class="nav-left"><?php next_posts_link('« Entradas antigas') ?></div>
<div class="nav-right"><?php previous_posts_link('Entradas recentes »') ?></div>
</div><!-- END NAVIGATION -->
Apague tudo, e insira a tag especial, mostrada acima. É preferível colocá-la entre uma DIV, assim:
<div id="navegacao">
<?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>
</div>
Agora, no CSS, insira a seguinte linha:
#navegacao { text-align:center; margin-top:50px; }
Isso fará com que o texto fique alinhado horizontalmente (no meio da página), e a uma distância de 50 pixels do último post.
Repita o procedimento acima nas outras páginas que propiciam a navegação entre posts. Em geral, são os arquivos: archive.php, search.php, e, se existir, o category.php.
Veja o resultado:

O plugin permite, ainda, exibir a paginação através de um menu drop down. Para tal, basta substituir o código mostrado acima por este:
<?php if(function_exists('wp_pagenavi')) { wp_pagenavi_dropdown(); } ?>
Falta algo, não? Sim, a tradução. São apenas cinco termos a serem traduzidos, sendo três da paginação convencional, e dois da em formato de menu drop down.
Abra o arquivo pagenavi.php no seu editor favorito. Veja, abaixo, uma lista das linhas onde estão os termos a serem traduzidos:
Vale lembrar que estou usando a versão 2.03 do WP-PageNavi; em futuras versões, os números das linhas citadas podem ser diferentes.
Salve o arquivo, e reenvie-o para o servidor.
Este plugin provê uma funcionalidade que deveria existir nativamente no sistema. Trata-se de algo simples e trivial, porém muito útil. Espero que na versão 2.1 do WordPress algo neste sentido apareça. Seria uma mão na roda (e um plugin a menos para se instalar).
wp-pagenavi, paginação, navegação, páginas, ordenar, wordpress, wp, plugin
No novo k2 já vem uma solução idêntica a esta aqui apresentada… ;)
Muito bom esse artigo, acabei de atualizar o código do meu Blog e deu tudo certo.
parabéns ao Rodrigo por mais ess artigo muito bom…
Posted by Bruno Godoi
November 20th, 2006, às 4:55 pm. #.
Eu sempre erro ao clicar em sites por aí no próximo/ anterior… Incrível. Tanto que uso no meu site “mais antigo/ mais recente”.
Agora que vc deu essa dica estou implantando a nova forma de navegar. Valeu!
Posted by Alexandre Fugita
November 25th, 2006, às 6:15 am. #.
Você disse para inserir uma linha na folha de estilos para ficar centralizado, mas no meu tema eu usei o código abaixo:
Ficou assim:
[…] WP-PageNavi - Mude a forma de navegação das páginas. Mais informações… […]
Posted by Blogadão » Plugins para Wordpress
March 19th, 2007, às 4:50 pm. #.
[…] WP-PageNavi - Mude a forma de navegação das páginas. Mais informações… […]
Posted by Plugins Wordpress : www.prensadigital.com.br
July 25th, 2007, às 7:38 am. #.
Seria possível paginação para fotos vindas do Flickr, bem eu tenho instalado o plugin que puxa do Flickr fotos de alguns albuns, sendo que alguns albuns possuem muitas fotos, cerca de 300 fotos, dai fica muito pesado para abrir mesmo sendo Thumbs, gostaria de que em determinada linha ele abrisse a paginação, assim como é no próprio Flicrk, com isso evitaria de demorar a carregar os Thumbs e evitaria o erro na página.
Obrigado pela atenção de todos.
Posted by adriano sousa
February 26th, 2008, às 2:27 am. #.
BlogAjuda © 2007.
Simple Grey theme developed by Rodrigo P. Ghedin.