Stack Overflow em Português Asked by RFL on December 16, 2020
Em meu arquivo category.php
tenho um layout onde possuo um menu lateral onde devem ser exibidos as subcategorias
da categoria
atual e uma <section></section>
onde deve ser exibido os posts da atual categoria
e subcategoria
, para gerar o menu com as subcategorias
da categoria
atual eu fiz:
$categories = get_categories('child_of='.get_the_category()[0]->term_id);
<nav class="panel">
<?php foreach($categories as $category): ?>
<a href="<?= get_category_link($category->term_id); ?>" class="panel-block">
<?= $category->name; ?>
<span class="icon"><i class="fa fa-angle-right fa-fw"></i></span>
</a>
<?php endforeach; ?>
</nav>
Na section
eu fiz:
<?php query_posts('posts_per_page=-1&cat='.get_the_category()[0]->term_id); ?>
<?php if (have_posts()): while(have_posts()): the_post(); ?>
<article class="column is-half">
<div class="price-label">
<div class="price-title">
<h1 class="title is-6">0001. <?php the_title(); ?></h1>
<h2 class="subtitle is-6">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Perferendis.</h2>
</div>
<div class="price-tag has-text-right">
<p><span class="size">P</span> <small>R$</small> 21.90</p>
<p><span class="size">M</span> <small>R$</small> 25.90</p>
<p><span class="size">G</span> <small>R$</small> 35.90</p>
</div>
</div>
</article>
<?php endwhile; endif; ?>
Eu não consigo fazer com que a section
pegue sempre os posts da atual pagina sendo ela categoria
ou subcategoria
, eu só consigo pegar a categorial
atual usando get_the_category()[0]->term_id
, e não sei como pegar os posts da atual subcategoria
, como posso fazer para que os posts
seja exibidos de acordo com a atual categoria
ou subcategoria
?
Você está reescrevendo a query dentro de section
, por isso sempre vai mostrar os posts da primeira categoria.
Essa linha é desnecessária e está quebrando o template, pode deletar inteira:
<?php query_posts('posts_per_page=-1&cat='.get_the_category()[0]->term_id); ?>
Quando o template é carregado o WP já sabe qual categoria/subcategoria você quer então a parte cat=etc
é desnecessária. Pra passar o parâmetro posts_per_page
use o hook pre_get_posts
no seu functions.php
add_action( 'pre_get_posts', 'retira_paginacao' );
function retira_paginacao( $query ) {
if( is_admin() ) {
return;
}
if ( is_category() ) {
$query->set( 'posts_per_page', '-1' );
}
}
Answered by Ricardo Moraleida on December 16, 2020
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP