Suporte » Plugins » Gerar a paginação

  • Resolvido Rogerio Yokoi

    (@rogerio-yokoi)


    Olá, bom dia!

    Desculpe-me se minha dúvida for um tanto quanto ‘noob’, comescei esses dias no wordpress e me deparei com um pequeno problema.

    Eis que tenho o seguinte código de paginação.

    function foundation_pagination() {
    
    global $wp_query;
    
    $big = 999999999;
    
    $links = paginate_links( array(
    	'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
    	'format' => '?paged=%#%',
    	'prev_next' => true,
    	'prev_text' => '«',
    	'next_text' => '»',
    	'current' => max( 1, get_query_var('paged') ),
    	'total' => $wp_query->max_num_pages,
    	'type' => 'list'
    )
    );
    
    $pagination = str_replace('page-numbers','pagination',$links);
    
    echo $pagination;
    
    }

    partindo deste princípio possuo a seguinte página que traz uma listagem dos ‘posts’ contidos em determinada categoria.

    <div class="row">
    	<section class="twelve columns mobile-four">
        	<h2>
    		<?php
    			$cat = $_GET['cat'];
    			if(($cat == 40) or ($cat == 42) or ($cat == 43)){
    				echo '<a href="'.get_category_link($category[0]->term_id ).'">'.$category[0]->cat_name.'</a>';
    			}
    			else
    			{
    				the_category(' - ');
    			}
    		?>
    		</h2>
    
            <?php $cat_name = get_the_category($_GET['cat']); echo $cat_name[0]->term_ID; ?>
            <?php
    
            	$loop = new WP_Query( array( 'post_type' => 'post', 'cat' => $_GET['cat'])); //Query dos Produtos
            	while ( $loop->have_posts() ) : $loop->the_post(); //Faz a requisição dos posts
            ?>
    
                <div class="four columns mobile-four">
                    <div class="product">
                	<p><?php echo $nome[$i]; ?></p>
    				<!--trazer a imagem do produto-->
    				<?php the_post_thumbnail();?>
    				<!--fim da imagem do prduto-->
    				<!--Nome do Produto-->
    				<p class="title">
    					<?php the_title();?>
    				</p>
    				<!--fim nome do produto-->
    				<!--detalhes-->
    				<a href="<?php the_permalink(); ?>" rel="bookmark" class="details">Ver detalhes</a>
    				<!--fim detalhes-->
                </div>
                </div>
            <?php endwhile ?><!--Fim requisição dos posts-->
         </section>
    </div>
    
    <div class="row">
    	<div class="twelve columns mobile-four">
        	<?php include('inc/paginacao.php');?>
        </div>
    </div>

    até então está tudo correto, quando entro na página de exibição dos posts ele lista o limite de 9 como determinei em Configurações->Leitura-> As páginas do blog mostram no máximo 9. Até aqui funciona tudo perfeitamente.
    O site mostra os 9 ultimos posts realizados na categoria e logo abaixo ele exibe a paginação algo no genero “1 2 3 4 » …

    Ok. Agora vem o problema.

    Quando eu clico na página 2 por exemplo ou qualquer outra, ele não me lista os próximos 9 posts e sim os mesmos primeiros 9 posts. e assim por seguinte…. qualquer pagina que eu clique na paginação ele me mostra sempre os mesmos 9 primeiros posts e não traz o restante…

    Alguém sabe o que eu posso estar fazendo de errado?

    grato desde já.

Visualizando 2 respostas - 1 até 2 (de um total de 2)
  • Fala, Rogerio. Você vai precisar adicionar a paginação a sua query. Algo por aqui:

    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    $loop = new WP_Query( array( 'post_type' => 'post', 'cat' => $_GET['cat'], 'paged' => $paged));

    Tenta dar uma olhada na documentação depois também. Ela é uma boa referência.

    Criador do tópico Rogerio Yokoi

    (@rogerio-yokoi)

    Eduardo Zulian, Muitissimo obrigo! funcionou perfeitamente…

    Muito grato mesmo! Fique com Deus 🙂

Visualizando 2 respostas - 1 até 2 (de um total de 2)
  • O tópico ‘Gerar a paginação’ está fechado para novas respostas.