Suporte » Outros assuntos » Problema com Paginação do WordPress

  • Resolvido Gustavo Spindola

    (@gustavospindola)


    Olá, boa tarde!
    Eu criei minha front-page puxando todos os posts e gostaria de fazer uma paginação que exibiria em cada página apenas 8 posts e passaria para a próxima, seguindo essa linha de 8 posts em cada uma.
    Utilizei um plugin de paginação chamado “WP-Paginate”, a paginação funciona e é visível a troca de página na url, mas meus posts não trocam, a pagina está mostrando sempre o mesmo conteúdo.

Visualizando 5 respostas - 1 até 5 (de um total de 5)
  • Moderador Mário Valney

    (@mariovalney)

    WordPress Cleric of Fire

    Olá @gustavospindola,

    se a paginação não funciona, muito provavelmente o Loop que você criou não dá suporte ao plugin.
    Além disso, você não precisa de nenhum plugin, pois a paginação é uma feature nativa do WordPress.

    Você pode criar sua lógica de paginação com as funções nativas e há um artigo no Codex falando sobre isso:

    https://codex.wordpress.org/Pagination

    Caso ainda não consiga, dê uma olhada na documentação da WP_Query (provavelmente está usando ela para criar o Loop).

    Abraços

    Criador do tópico Gustavo Spindola

    (@gustavospindola)

    Consegui resolver, era um erro na lógica do loop mesmo… obrigado!

    Abraços

    Moderador Mário Valney

    (@mariovalney)

    WordPress Cleric of Fire

    Que ótimo @gustavospindola!

    Por favor, marca como resolvido?

    Abraços

    Olá, ja dei uma lida na documentação, e o mesmo continua dando o mesmo problema acima,
    ele repete os posts nas outras páginas.

    <?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
    
                
                $terms_args = array(
                    'hide_empty' => false,
                    'post_type' => array('post','page','edicoes','vencedores','realizacoes'),
                    's' =>  $s,
                    'page' => $paged,
                    'posts_per_page'  => 8
                    );
    
                    $terms = new WP_Query($terms_args); ?>
    
                    <?php if(!empty($terms)): ?>
    
                        <?php if($terms->have_posts()): ?>
    
                            <?php while($terms->have_posts()): $terms->the_post(); ?>
                          
    
                                <div class="col-md-12 col-xs-12 border">
                                    <div class="title-search">
                                        <a href="<?php the_permalink(); ?>">
                                            <h1><?php the_title(); ?></h1>
                                        </a>                                   
                                    </div>
    
                                    <div class="col-md-6 col-xs-6">
                                        <div class="img-post">
                                           <a href="<?php the_permalink(); ?>">
    
                                            <?php if (get_the_post_thumbnail()){
                                                the_post_thumbnail();
                                            }else{
    
                                            }
    
                                            ?>
                                        </a>
                                    </div>
                                </div>
                                <div class="col-md-6 col-xs-6">
    
                                    <div class="resume">
                                        <a href="<?php the_permalink(); ?>">
                                            <?php echo excerpt('25'); ?>
                                        </a>    
                                    </div>
                                </div>
    
                            </div>
    
                        <?php endwhile; ?>
    
                    <?php endif; ?>
                <?php endif; ?>
            </div>
    
            <div>  
               <?php get_template_part('template-parts/content','widget-home'); ?>        
           </div>
       </div>
    
       <div class="row">
        <div class="container">
            <div class="col-md-12 page">
                
               <?php wp_pagination(); ?> 
            </div>
        </div>
    </div>
    

    Isso é da minha page Search, se alguém puder me ajudar.

    Vlw

    Gente, estou com quase o mesmo erro.
    Desejo que ele a cada 15 posts crie uma nova pagina e deposito que ele apenas execute as opções ANTERIOR e PROXIMO.

    quando ativo o plugin “WP-Paginate” e marco a opção para aparecer na HOME ele aparece lá em cima e nao onde desejo e quando eu clico em pagina 2 ou 3 ele sempre me mostra os mesmos posts ou seja os 15 ultimos.

    alguém pode me ajudar?

    segue os arquivos.

    <!– INDEX –>
    <div id=”wrap” class=”mobile-news”>

    <!– LIMITAR POSTS –>
    <?php query_posts(‘cat=2,56,4,1,5,53,3,55’); ?>

    <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

    <div class=”box-news”>

    <div class=”img-news”>
    “>
    <?php the_post_thumbnail(); ?>

    <?php
    //Pega todas as categorias do post
    $cats = get_the_category($post->ID);
    //Verifica a primeira categoria retornada e pega seu parentesco.
    //Se um post tem múltiplas categorias que levam a parentescos separados, retornará o primeiro parentesco pertencente à primeira categoria retornada.
    $parent = get_category($cats[0]->category_parent);
    //Se obtiver uma mesnagem de erro, significa que já estamos na categoria-pai.
    if (is_wp_error($parent)){
    $cat = get_category($cats[0]);
    }
    //Senão, atribui a categoria retornada para trabalhar equivalente a uma categoria-pai.
    else{
    $cat = $parent;
    }

    ?>

    <div class=”<?php echo $cat->slug; ?>”><?php the_category(); ?></div>


    </div>
    <span><?php the_date(); ?> – <?php the_author(); ?></span>
    <h1><?php the_title(); ?></h1>

    </div>

    <?php endwhile; ?>
    <?php endif; ?>
    </div>

    <!– FINAL DA PROGRAMAÇÃO PARA MOBILE –>

    <div id=”navegacao”>
    <div class=”anteriores”><?php previous_posts_link( “« Posts Anteriores” ) ?> < ANTERIOR </div>
    <div class=”recentes” style=”margin-left: 100px;”><?php next_posts_link( “Posts Recentes »” ) ?> PROXIMA > </div>
    </div>

    OBS: Ja experimentei usando <?php wp_pagenate(); ?>

    <!– FUNCTION.JS –>

    // No arquivo functions.php
    function my_pagination() {
    global $wp_query;

    echo paginate_links( array(
    ‘base’ => str_replace( 9999999999999, ‘%#%’, esc_url( get_pagenum_link( 9999999999999 ) ) ),
    ‘format’ => ‘?paged=%#%’,
    ‘current’ => max( 1, get_query_var( ‘paged’ ) ),
    ‘total’ => $wp_query->max_num_pages,
    ‘type’ => ‘list’,
    ‘prev_next’ => true,
    ‘prev_text’ => ‘Página Anterior’,
    ‘next_text’ => ‘Próxima Página’,
    ‘before_page_number’ => ‘-‘,
    ‘after_page_number’ => ‘>’,
    ‘show_all’ => false,
    ‘mid_size’ => 3,
    ‘end_size’ => 1,
    ) );
    }

    por favor, alguem pode me ajudar?

Visualizando 5 respostas - 1 até 5 (de um total de 5)
  • O tópico ‘Problema com Paginação do WordPress’ está fechado para novas respostas.