Как получить название категории в пользовательском цикле WordPress?
Я использую следующий код для отображения списка записей в категории, но хочу вывести заголовок категории в отдельном теге h2 над списком.
<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 -->
РЕДАКТИРОВАНО:
Я попробовал использовать single_cat_title
, однако заголовок отображается для родительской категории во всех блоках подкатегорий. Вот пример блока, который я повторяю несколько раз, где запрос получает записи из разных подкатегорий. Мне нужно выводить заголовок каждой подкатегории над её записями. Я понимаю, что это не работает, потому что функция возвращает родительскую категорию, но не могу разобраться с PHP...
<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 -->
Поскольку у вас уже есть ID категории (вы используете его в вызове WP_Query::query()
), вы можете просто использовать его для получения названия категории. Функция get_cat_name( $cat_id )
сделает именно это. Внутри она использует get_category( $cat_id )
, которая возвращает полный объект категории - это может быть полезно, если вы хотите отобразить больше информации о категории.

Не совсем понятно, что именно вы имеете в виду. Вы спрашивали, как получить название категории внутри пользовательского цикла. Вы имеете в виду конкретную категорию или категорию, связанную с определенной записью внутри этого цикла?
В любом случае, если вам нужно вывести название первой категории для каждой записи в вашем пользовательском цикле, просто добавьте следующий код где-нибудь внутри вашего цикла:
<?php single_cat_title(); ?>
Документацию по этой функции можно найти здесь:
http://codex.wordpress.org/Function_Reference/single_cat_title
Обратите внимание на комментарий под вашим вопросом — это важное замечание. Что вы хотели сделать с параметром include
? Вы пытаетесь отфильтровать этот запрос для определенного набора записей?
Допустимые параметры запроса можно найти на странице документации для WP_query
. Если вы не уверены, как установить параметры, просто дайте нам знать. ;)
