Suporte » Ajustando o WordPress » Páginação com erro – Url muda mais a lista de posts não

  • Resolvido charlesdesigner

    (@charlesdesigner)


    Olá, estou com um probleminha na paginação.

    Os posts estão sendo listados de acordo com o limite (ex: 10 posts por página), eu adicionei uma paginação para visualizar os posts restantes, mas quando clico para visualizar a página 2 por exemplo, muda a url mas a lista de posts repete os mesmos posts da primeira página.

    <?php
    
    query_posts('cat=-8');
    if ( have_posts() ) :
    while ( have_posts() ) : the_post(); ?>
    
    <a href="<?php echo post_permalink() ?>">
    <?php
    if ( has_post_thumbnail() ) {
    
    the_post_thumbnail();
    
    } else {
    echo "<img  src='$url_image/imagemoff.png'>";
    }
    ?>
    
    </a>
    
    <?php the_title() ?>
    <?php the_excerpt() ?>
    
    <?php
    endwhile;
    
    else :
    echo wpautop( '<p>Nenhuma notícia encontrada</p>' );
    endif;
    ?>
    
    <?php wp_pagenavi(); ?>

    Por favor alguém me ajuda, estou com dois sites com esse erro.

Visualizando 7 respostas - 1 até 7 (de um total de 7)
  • Bom dia charlesdesigner,

    Você está seguindo as orientações do Codex? https://codex.wordpress.org/pt-br:Estilos_em_Links_de_Pagina%C3%A7%C3%A3o

    Se está, por favor, informe a url dos dois sites com problema e que tema(s) está utilizando, pois apenas ver o código é muito vago para poder lhe ajudar.

    Abraços,

    Criador do tópico charlesdesigner

    (@charlesdesigner)

    Bom, primeiramente obrigado pela atenção Ralden,

    Estou usando o plugin PageNavi. A paginação chega a aparecer, as urls chegam a mudar quando clica no link, mas, o conteúdo da primeira página se mantem.

    Bom, segue o link de um dos sites pra você da uma sacada: http://helanocoach.com/blog/

    No final da lista tem uma paginação.

    O tema no caso eu mesmo criei, montei o tema do zero, provavelmente deve está faltando algo. O problema é que eu não sei o que pode ser este “algo” que pode estar faltando e contribuindo com o erro.

    Ainda está sem CSS, está apenas o código.

    Moderador Miriam de Paula

    (@miriamdepaula)

    Charles, primeiramente, bom dia.

    Segundamente, é uma query secundária?

    Se for, NUNCA use query_posts() para criar suas queries!!!
    Use a classe WP_Query() pra isso e tudo vai dar certo.

    https://codex.wordpress.org/Class_Reference/WP_Query

    Outra coisa que tem que ter atenção, é que na query, tem que informar o parâmetro “paged”

    'paged' => get_query_var('paged')

    Exemplo seguindo as boas práticas:

    $my_query = new WP_Query( array( 'post_type' => 'foo', 'paged' => get_query_var('paged') ) );
    
    while ( $my_query->have_posts() ) : $my_query->the_post();
    	the_title();
    	// more stuff here
    endwhile;
    
    wp_pagenavi( array( 'query' => $my_query ) );
    
    wp_reset_postdata();	// avoid errors further down the page
    Criador do tópico charlesdesigner

    (@charlesdesigner)

    Olá Miriam, boa tarde,

    É uma query unica, não há outra query na página.

    Bem, eu mudei a query e agora estou usando a classe WP_query() como você indicou, dei uma lida no link que você indicou e tentei seguir a forma correta. Ocorreu o seguinte, a listagem de post funcionou, mas, os números da páginação sumiram, agora apenas esta indicando “1 de 11” sem listar os links para as outras páginas.

    Este é a nova versão do código (http://helanocoach.com/blog/):

    <?php
    // the query
    $the_query = new WP_Query( array( 'cat' => '-8', 'paged' => get_query_var('paged') )  ); ?>
    
    <?php if ( $the_query->have_posts() ) : ?>
    
    <!-- the loop -->
    <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
    
    <?php the_title() ?>
    <?php the_excerpt() ?>
    
    <?php endwhile; ?>
    <!-- end of the loop -->
    
    <?php wp_pagenavi(); ?>
    
    <?php wp_reset_postdata(); ?>
    
    <?php else : ?>
    
    <p>Nenhuma notícia encontrada</p>
    
    <?php endif; ?>

    Desde já agradeço pela ajuda!

    Moderador Miriam de Paula

    (@miriamdepaula)

    Olá!

    Informe a instancia da query dentro da função do Pagenavi

    wp_pagenavi( array( 'query' => $the_query ) );

    http://scribu.net/wordpress/wp-pagenavi/

    Criador do tópico charlesdesigner

    (@charlesdesigner)

    Perfeito! Problema resolvido. Muito obrigado Miriam. Muito obrigado mesmo.

    Moderador Miriam de Paula

    (@miriamdepaula)

    Fico muito feliz que tenha dado tudo certo!!! \o/

Visualizando 7 respostas - 1 até 7 (de um total de 7)
  • O tópico ‘Páginação com erro – Url muda mais a lista de posts não’ está fechado para novas respostas.