Cum obțin titlul unei categorii într-o buclă personalizată în WordPress?
Folosesc următorul cod pentru a afișa o listă de articole dintr-o categorie, dar vreau să afișez titlul în propriul tag h2 deasupra listei.
<ul class="subcats-list">
<?php
$weightloss = new WP_Query();
$weightloss->query('showposts=5&include=4');
while ($weightloss->have_posts()) : $weightloss->the_post(); ?>
<li><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></li>
<?php endwhile; ?>
</ul><!-- subcat -->
EDIT:
Am încercat să folosesc single_cat_title
, dar titlul afișat este cel al categoriei părinte pentru toate div-urile subcategoriilor. Iată un exemplu de div pe care îl reproduc de mai multe ori, unde interogarea extrage articole din diferite subcategorii. Aș dori să afișez titlul fiecărei subcategorii deasupra articolelor. Înțeleg că nu funcționează pentru că returnez categoria părinte cu acea funcție, dar nu reușesc să rezolv problema...
<ul class="subcats-list">
<h2 class="subcats-title"><?php single_cat_title(); ?></h2>
<?php
$weightloss = new WP_Query();
$weightloss->query('showposts=5&cat=4');
while ($weightloss->have_posts()) : $weightloss->the_post(); ?>
<li><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></li>
<?php endwhile; ?>
</ul><!-- subcat -->
Deoarece deja ai ID-ul categoriei (pe care îl folosești în apelul tău la WP_Query::query()
), poți folosi acel ID pentru a obține numele categoriei. get_cat_name( $cat_id )
va face exact asta. Această funcție folosește în spate get_category( $cat_id )
, care returnează întregul obiect al categoriei, ceea ce poate fi util dacă dorești să afișezi mai multe informații despre categorie.

Nu este complet clar la ce te referi, ai întrebat cum să obții titlul categoriei în interiorul unei bucle personalizate. Te referi la o anumită categorie sau la o categorie asociată cu un anumit articol din acea buclă?
În orice caz, dacă te referi la afișarea numelui primei categorii pentru fiecare articol din bucla ta personalizată, pur și simplu adaugă următorul cod undeva în interiorul buclei tale.
<?php single_cat_title(); ?>
Documentația pentru funcție poate fi găsită aici:
http://codex.wordpress.org/Function_Reference/single_cat_title
Totuși, notează comentariul de sub întrebarea ta, acesta este un punct valid, la ce te-ai gândit cu parametrul include
, încerci să filtrezi acea interogare la un anumit set de articole?
Parametrii valizi de interogare pot fi găsiți pe pagina WP_query
din codex, dacă este util. Dacă nu ești sigur cum să setezi parametrii, spune-ne.. ;)

O să încerc asta. Avea dreptate în legătură cu include-ul. A fost greșeala mea.

Am încercat, dar titlul care apare este cel al categoriei părinte pentru toate div-urile subcategoriilor. Iată un exemplu cu două div-uri, unde interogarea preia articole din două subcategorii diferite. Aș dori ca titlul fiecărei subcategorii să apară deasupra postărilor respective.
