• Resolvido Rogerio Yokoi

    (@rogerio-yokoi)


    Boa tarde, eu sou meio novo com wordpress e me entregaram um pequeno pepino para resolver, do qual estou a algumas horas tentando resolver.

    O que está acontecendo é o seguinte, Praticamente todo o site funciona certo, outras categorias, tudo… o problema está no menu PRODUTOS->Benedeti Festas.

    Na exibição do mesmo aparece somente um produto com o nome da subcategoria e a paginação para as demais páginas. E sinceramente não faço a minima idéia do que pode ser.

    segue o link para vizualização que acredito que seja melhor que eu escrevendo.
    http://www.benedeti.com.br
    LOJAS->Benedeti Festas está o erro.

    código que mostra listagem da categoria

    <div class="row">
    	<section class="twelve columns mobile-four">
        	<h2>
    		<?php
    			$category = get_the_category(); 
    
    echo '<a href="'.get_category_link($category[0]->term_id ).'">'.$category[0]->cat_name.'</a>';
    
    		?>
    		</h2>
    	<?php
    	     if((is_category(1)) || (is_category(40)) || (is_category(42)) || (is_category(43))){ $term = $category[0]->term_id; } else { $term = $category[1]->term_id; }
    	?>
            <?php $loop = new WP_Query( array( 'post_type' => 'post', 'cat' => $term, 'orderby'=>'rand') ); ?> <!--Query dos Produtos-->
            <?php 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>

    Se alguém pudem me dar uma luz, ficaria muito agradecido!

Visualizando 6 respostas - 1 até 6 (de um total de 6)
  • Aqui está parecendo ok, já resolveu?

    Criador do tópico Rogerio Yokoi

    (@rogerio-yokoi)

    Olá, não resolvi não, acabei de entrar novamente continua com o mesmo erro… neste endereço … Deveria aparece como neste outro endereço

    O que eu acho mais engraçado é que, as duas páginas são o mesmo código porém uma aparece certo e na outra não…. acredito que já gastei meu pouco conhecimento todo e ainda não consegui resolver

    me parece que o problema é que vc está repetindo a query, e aí bagunçando a variável global $wp_query, que é quem comanda a paginação. A princípio, se vc usar o template correto (nesse caso: taxonomy.php, category.php ou archive.php), não precisa passar "cat" => $term dentro da página porque ele já sabe onde está.

    Supondo que vc esteja editando o category.php, troque o seguinte:

    <?php $loop = new WP_Query( array( 'post_type' => 'post', 'cat' => $term, 'orderby'=>'rand') ); ?> <!--Query dos Produtos-->
            <?php while ( $loop->have_posts() ) : $loop->the_post();?>

    por

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

    e coloque isso no seu functions.php

    add_action("pre_get_posts", "wpbr_altera_query");
    function wpbr_altera_query($query) {
        if(!is_admin() && is_main_query()) :
            $query->query_vars['orderby'] = "RAND";
        endif;
    }

    Se a sua paginação estiver ok, isso deve resolver.

    Criador do tópico Rogerio Yokoi

    (@rogerio-yokoi)

    Olá bom dia!
    Eu fiz as modificações citadas acima, e de fato a listagem está correta agora. Muito Obrigado.

    Porém ficou uma dúvida, quando entro em PRODUTOS->BENEDETI FESTAS
    Ele lista os 9 produtos tudo certo, porém o nome da categoria no header da página aparece como Adereços e só quando vou para a página 2 da paginação ele aparece Benedete festas, Existe será algo que eu ainda esteja fazendo de forma equivocada?

    se precisar de algum código específico é só me informar que eu posto ele aqui.

    Desde já muitissimo agradecido!

    get_the_category está puxando a 1ª categoria do 1º post de cada página, então se ele tiver 2 categorias, pode vir a errada.

    troque

    <h2><?php $category = get_the_category();
    echo '<a href="'.get_category_link($category[0]->term_id ).'">'.$category[0]->cat_name.'</a>';
    ?>
    </h2>

    por:

    <h2><?php single_cat_title(); ?></h2>

    Criador do tópico Rogerio Yokoi

    (@rogerio-yokoi)

    Muitissimo Obrigado Ricardo…. funcionando redondinho, tem uns problemas no css mas esses eu resolvo aqui com relação ao wordpress esta lindo…

    Muito agradecido, já marquei o tópico como respondido….. Obrigadão!!!

Visualizando 6 respostas - 1 até 6 (de um total de 6)
  • O tópico ‘Exibição da listagem da categoria’ está fechado para novas respostas.