Как мне получить название категории в пользовательском цикле?


Я использую следующий код для отображения списка сообщений в категории, но я хочу отобразить заголовок в собственном теге 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, однако название подходит для родительской категории для всех подразделов подкатегорий. Вот пример div, который я повторяю несколько раз, где запрос извлекает сообщения из разных подкатегорий. Я хотел бы получить название для каждой субподрядной категория над постами. Я понимаю, что это не работает, потому что я возвращаю родительскую категорию с помощью этой функции, я просто не могу разобраться в 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 -->
Author: chris_s, 2011-03-30

2 answers

Поскольку у вас уже есть идентификатор категории (вы используете его при вызове WP_Query::query()), вы можете просто использовать его для запроса имени категории. get_cat_name( $cat_id ) будет делать именно это. Он использует get_category( $cat_id ) в фоновом режиме, который возвращает полный объект категории, что может быть полезно, если вы хотите показать больше информации о категории.

 1
Author: Jan Fabry, 2011-04-05 13:24:57

Не совсем понятно, о чем вы говорите, вы спросили, как получить название категории внутри пользовательского цикла. Вы имеете в виду конкретную категорию или категорию, связанную с данным сообщением внутри этого цикла?

В любом случае, если вы имеете в виду распечатку названия первой категории для каждой публикации в вашем пользовательском цикле, просто добавьте следующий код где-нибудь внутри вашего цикла.

<?php single_cat_title(); ?>

Документацию по этой функции можно найти здесь:
http://codex.wordpress.org/Function_Reference/single_cat_title

Обратите внимание на комментарий под вашим вопросом, хотя это правильный момент, что вы намеревались сделать с параметром include, вы пытаетесь отфильтровать этот запрос для определенного набора сообщений?

Допустимые параметры запроса можно найти на WP_query страница кодекса, если это полезно. Если вы не уверены в том, как задать параметры, просто дайте нам знать..;)

 0
Author: Mark Duncan, 2011-03-30 19:55:46