Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Paginação taxonomy.php usando wp_pagenavi

Boa tarde!

Na minha página taxonomy, php, quero exibir uma listagem com os produtos (CPT = movel) de uma determinada categoria (taxonomia = categoria-moveis).

Tenho que exibir uma paginação também.

Até aí, tudo ok. Mas a partir da segunda página, é gerado o link (exemplo para a segunda página de moveis de categoria poltronas: http://localhost/wordpress/categoria-moveis/poltronas/page/2/) , e ao clicar nesse link sou retornado para index.php

O que pode estar acontecendo?

Segue o código:

<?php get_header(); ?>

Produtos

<?php get_template_part( 'partials/menu-categories' ); ?> <?php $term = get_queried_object(); if ( get_query_var('paged') ) { $paged = get_query_var('paged'); } elseif ( get_query_var('page') ) { $paged = get_query_var('page'); } else { $paged = 1; } $args = array('post_type' => 'movel', 'categoria-moveis' => $term->slug, 'posts_per_page' => 1, 'caller_get_posts'=> 1, 'paged' => $paged); $loop = new WP_Query($args); if ($loop->have_posts()) : ?>
<?php while($loop->have_posts()) : $loop->the_post(); ?>

<?php endwhile; ?>

<?php wp_pagenavi( array( 'query' => $loop ) ); wp_reset_postdata(); endif; ?>

<?php get_footer(); ?>
3 respostas

Corrigindo o código:

<?php get_header(); ?>
<div class = "container-fluid container-central">
    <section class="boxProducts">
        <div class="container">

            <h2>Produtos</h2>
            <?php get_template_part( 'partials/menu-categories' ); ?>    

            <?php


                $term = get_queried_object();
                if ( get_query_var('paged') ) { $paged = get_query_var('paged'); }
                elseif ( get_query_var('page') ) { $paged = get_query_var('page'); }
                else { $paged = 1; }

                $args = array('post_type' => 'movel', 
                                    'categoria-moveis' => $term->slug,
                                    'posts_per_page' => 1,                                    
                                    'caller_get_posts'=> 1,
                                    'paged' => $paged);
                $loop = new WP_Query($args);


                if ($loop->have_posts()) :
            ?>
                    <div class="row content-products">
            <?php
                    while($loop->have_posts()) :
                        $loop->the_post();
            ?>
                        <div class="col-sm-4 product">
                            <a href = "<?php the_permalink();?>" class = "hvr-outline-out">
                                <img src="<?= types_render_field('foto-portifolio', array('output' => 'raw'));?>" alt="" 
                                    class="img-responsive img-thumbnail img-product">
                            </a>
                        </div>

            <?php
                    endwhile;
            ?>
                    </div>
            <?php
                wp_pagenavi( array( 'query' => $loop ) );                
                wp_reset_postdata();
            endif;
            ?>


        </div>
    </section>
</div>
<?php get_footer(); ?>
solução!

Fala Simão,

Tranquilo?

Essa página aí é a taxonomy.php ou é uma taxonomy-nome-da-taxonomia.php?

Por ser uma taxonomia customizada, acho que ela vai funcionar só se você criar a página taxonomy-nome-da-taxonomia.php

No seu caso seria a criação da página taxonomy-categoria-moveis.php com esse código seu.

Em um cliente meu eu precisei fazer isso e ficou assim:

  • taxonomy.php (para as taxonomias padrões do WordPress)
  • taxonomy-tipo-universidade.php (para as do tipo tipo-universidade)
  • taxonomy-tipo-universidade-informacoes-tecnicas.php (para as do tipo informacoes-tecnicas que são vinculadas com as tipo-universidade)

Espero ter ajudado!

Abraços!

Boa noite!

Obrigado pelo feedback.

O nome da página, na verdade, é taxonomy-categoria-moveis.

A primeira página da paginação é exibida, a partir da segunda página, é retornado para index.php

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software