Suporte » Plugins » Paginação não é feita no index com o pagenavi

  • Olá pessoal eu estou com um problema com a paginação da index.php do meu blog há 4 dias.
    Eu fiz a paginação do meu blog com o plugin wp_pagenavi.
    Na category.php a paginação ocorreu corretamente sem nenhum problema, porém na index.php não está ocorrendo a paginação corretamente.
    Quando eu clico no número 2 da paginação a url carrega corretamente aparecendo “http://localhost/fotografia/site/?paged=2” porém a página continua sem sair da número 1.
    Alguém poderia me ajudar?
    Muito obrigado a todos.
    Segue o código da minha páginha index.php

    <?php get_header();?>
    <div id=”content”>

    <div id=”content_slide”>

    <?php if (function_exists(‘nivoslider4wp_show’)) { nivoslider4wp_show(); } ?>

    </div><!– FECHA_ID_HEADER_SLIDE –>

    <?php get_sidebar(); ?>

    <?php query_posts(‘category_name=portfolio’); ?>

    <?php if (have_posts()):
    while (have_posts()) : the_post();?>
    ” title=”<?php the_title();?> – Paulo Mendes | Fotografia” class=”a_posts” />
    <div class=”posts”>
    <div class=”posts_foto”>
    <div class=”titulo_img”>
    <div class=”titulo2″>
    <?php the_title();?>
    </div>
    </div><!– FECHA_CLASS_TÍTULO –>

    <?php if(has_post_thumbnail( )): ?>
    <?php the_post_thumbnail(‘featured’); ?>
    <?php else: ?>
    <img alt=”<?php the_title(); ?>” src=”<?php bloginfo(‘template_directory’); ?>/img/sem-thumbnail.jpg” />
    <?php endif; ?>

    </div><!– FECHA_CLASS_POSTS_FOTO –>

    <span class=”titulo_posts”><?php the_title();?></span>

    <?php the_excerpt(); ?>

    </div><!– FECHA_ID_POSTS –>

    <?php endwhile; else:?>
    <?php endif;?>

    </div><!– FECHA_ID_CONTENT –>

    <div class=”paginator”>
    <?php wp_pagenavi(); ?>
    </div><!– DIV_CLASS_PAGINATOR –>

    <div id=”subir”>
    <img src=”<?php bloginfo(‘template_directory’); ?>/img/subir.png” title=”Ir para o topo do site”
    alt=”Ir para o topo do site” width=”” height=”” border=”0″ />
    </div><!– FECHA_ID_SUBIR –>

    <?php get_footer();?>

Visualizando 9 respostas - 1 até 9 (de um total de 9)
  • Moderador Míriam de Paula

    (@miriamdepaula)

    Primeiro, evite colar códigos extensos aqui. Use serviços como Pastebin.com pois facilita muito na leitura e compreensão do código.

    Coloca a função do PageNavi depois de <?php endwhile;?> ….

    endwhile;

    <codigo da paginação>

    else:

    endif;

    Outra coisa importante é que na sua query deve conter posts_per_page!

    Criador do tópico paulomendesjs

    (@paulomendesjs)

    Olá Míriam, primeiro eu queria pedir desculpa porque eu não sabia da existência do Pastebin, muito obrigado pela dica.
    Então eu fiz o que você me falou, coloquei o código do pagenavi abaixo do endwhile e acima do else. E coloquei o posts_per_page na query, porém continuou com o mesmo problema.
    Aqui está o código como vc me falou para deixar: http://pastebin.com/H6PE5ui7
    O que será que estou errando?

    Abraço e muito obrigado

    Moderador Míriam de Paula

    (@miriamdepaula)

    Olá Paulo!

    Bom, deixa eu te dar mais uma dica:

    Nunca use query_posts() …

    Vou te mostrar como se deve alterar as queries no WordPress =)

    Sempre use o hook 'pre_get_posts'
    Crie uma função no seu arquivo functions.php para alterar a query da home, mais ou menos assim:

    function my_home_posts_per_page( $query ) {
        if ( $query->is_home() && $query->is_main_query() ) {
            $query->set( 'posts_per_page', 9 );
        }
    }
    add_action( 'pre_get_posts', 'my_home_posts_per_page' );

    Maiores informações aqui: http://codex.wordpress.org/Plugin_API/Action_Reference/pre_get_posts

    Qualquer dúvida, ‘grita’ ae =)

    Criador do tópico paulomendesjs

    (@paulomendesjs)

    Não sei se eu entendi bem, mas vamos la.
    Então… eu fiz assim.
    Eu tirei a query_posts() do meu arquivo index.php e coloquei o código que você me passou acima, porém o meu while não fez o loop dos posts, ou seja, não apareceu os posts.
    Eu tenho que colocar algum outro código no lugar do query_posts() que eu tirei?

    Moderador Míriam de Paula

    (@miriamdepaula)

    Conforme eu expliquei acima, a função que eu te passei, como exemplo, era pra ser colocada no arquivo functions.php

    O seu arquivo em questão, onde ocorre o loop, ficaria intacto.

    Lembrando que a função que eu passei, é apenas um exemplo de uso e vai afetar a query principal da index do seu site.

    Criador do tópico paulomendesjs

    (@paulomendesjs)

    Então na minha index eu não mexi e no meu arquivo function.php eu adicionei o código como vc colocou para mim, porem a paginação da index.php continua com o mesmo problema de mostrar na url que a paginação está na “2” porem continua mostrando o conteúdo da página “1”
    aqui está o código do loop da minha index.php : http://pastebin.com/JgC2kuVv

    Moderador Míriam de Paula

    (@miriamdepaula)

    Paulo, agora com o código no Pastebin ficou mais fácil entender o seu problema.

    Faz o seguinte:

    1) Vai no functions.php e remove aquele trecho de código que eu te passei, ok? Esquece ele por enquanto.

    2) Veja o que eu fiz com o seu código: http://pastebin.com/LS5Y6bmN

    Faça uma cópia do seu código antes de usar o meu, para depois não dizer que eu atrapalhei, mais do que ajudei, né? =P

    Estamos aqui tentando achar uma solução para o seu problema. Espero que agora se resolva.

    Boa sorte!

    Criador do tópico paulomendesjs

    (@paulomendesjs)

    Miriam, eu fiz tudo como você pediu:

    1) Removi o trecho do código que você me passou da function.php

    2) Coloquei o código do loop exatamente como você me passou.

    Porém continuo com o mesmo problema. O loop acontece normalmente, mas quando eu clico para ir para a página 2 a url aparece http://localhost/fotografia/site/page/2/ porém continua na página 1

    Moderador Míriam de Paula

    (@miriamdepaula)

    Nossa Paulo! Que coisa doida hein … Era pra funcionar de boa.

    Vou esgotar as suposições agora: Tenta desativar todos os plugins pra ver se não é algum deles que está conflitando … (?)

    Sinto muito cara. Sem ver fica extremamente difícil de te ajudar. Na minha experiência com WP, o que eu pude te passar, eu passei =/

    Abraços

Visualizando 9 respostas - 1 até 9 (de um total de 9)
  • O tópico ‘Paginação não é feita no index com o pagenavi’ está fechado para novas respostas.