28 de novembro de 2009

Problema com paginação e a função query_posts() do Worpress

PHP, Wordpress | 11 Comentários »
por Ricardo José Corrêa

Estava com problemas ao usar a função query_post(), quando a ativava na home (index.php) a paginação parava de funcionar. Eu queria separar apenas a categoria portifólio (no caso do meu blog é o id 23). Achei a solução neste post e agora vou compartilhar aqui em português.

Bem, não vale a tradução do post em inglês já que o titulo já fala tudo.

Basta trocar o código a seguir:

<?php if (have_posts()) : ?>
        <?php while (have_posts()) : the_post(); ?>  
 
Troque por esse 
 
<?php if (have_posts()) : ?>
     <?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; query_posts("cat=-23&paged=$paged"); ?>
        <?php while (have_posts()) : the_post(); ?>

Como pode perdeber usei a função para excluir a categoria 23 da minha página inicial, altere para sua necessidade.

Pode ver mais sobre a função query_posts() aqui.


Você pode deixar um comentário, ou trackback de seu próprio site.

11 comentários para “Problema com paginação e a função query_posts() do Worpress”

  1. Flavio Venom falou:

    Cara!! show de bola resolveu o problema na hora…. ;)

  2. Ricardo José Corrêa falou:

    Que bom que resolveu. Já fez valer o post. =)

  3. Eder Prado falou:

    Problema solucinado na hora.
    Fera!

  4. BRuce falou:

    cara …. estou com problemas ainda no meu query
    estou usando a mesma função q vc passou
    o link da paginação é criada
    ele carrega como page/2
    mas abra a pagina 404
    sera q é alguma função nao definida
    ou um header q precisa ser incorporado
    desde ja agradeço
    parabens pelo blog

  5. Ricardo José Corrêa falou:

    Não funcionou? Será que você usou corretamente no WordPress, por que com o pessoal aqui funcionou de boa.

  6. Pedro falou:

    Ricardo, muito obrigado! Post curto e direto ao assunto.
    Só um detalhe para os que estão começando com WP, não se esqueçam de determinar quantos posts querem exibir: query_posts(“showposts=X”).

    Abs.

  7. Dayvson falou:

    Rapaz,

    Procurei e funcionou na hora ;)
    Muito Obrigado

    Parabéns pelo Site
    Abs

  8. João Vítor Carvalho falou:

    Cara, impressionante, para mim também não funciona por nada neste mundo. Já instalei inclusive a função .curPageURL()

    Eu imprimo a variável $paged na tela e vejo que a paginação é carregada, mas os posts não mudam. Podem ver isto na página:

    http://www.jvitorcarvalho.com/utilidade-publica/

    Valeu

  9. Roger falou:

    Cara valeu por este excelente post, muito bom mesmo. Eu estava com esse problema com a query_posts() e sua dica funcionou direitinho.

  10. Marcel falou:

    Muito bom, resolveu o meu problema.

  11. Marcos falou:

    Olá Ricardo, passei 2 dias garimpando na net, e testando muitas coisas, sem resultado, a resposta para função query_post(); com este seu post sucinto foi solucionado o problema. Agradeço pela grande ajuda, Abraço!

Deixe um comentário