get_the_category отдает пустой массив

Добрый день!
Подскажите, пожалуйста:
очень нужна эта функция get_the_category(), но она отдает пустой массив. В чем может быть проблема?
Выводил примерно так:
<?php foreach((get_the_category()) as $category ) {
echo $category->cat_name; }
По cаt_ID и другим параметрам тоже пусто. Может ли так быть, что массив пустой? Ошибок не вылазит, категории есть. ВордПресс 2.5.
Помогите разобраться!

На This tag must be used within The Loop. обратили внимание?

И как это должно выглядеть, хотя бы примерно, если не секрет?

Вы Кодекс вообще читали? Там всё написано. Раз уж взялись программировать, то извольте ознакомиться с матчастью.

Я как раз здесь смотрел:
http://codex.wordpress.org/The_Loop
но с английским туго, поэтому и попросил помощи у опытных.

Там всё самое ценное на php написано 🙂 Так с чем проблема-то? Не нашли в шаблоне Loop? От if (have_posts()) до endif. Суть в том, что куча функций, которые [якобы] работают только в Цикле, требуют, чтобы была определена переменная $post. Если переменной нет, то они просто не знают, от чего плясать.

Использую have_posts – отдает not found. Тут какой-то другой цикл должен быть организован? Тупо вставка в цикл не работает.. Подскажите хоть, где камень?

Камни вокруг 🙂 Что-то Вы не то делаете или не то ожидаете увидеть.

Да, пожалуй, если бы я получал то, что ожидал, это было бы результатом правильных действий и верных решений и не способствовало бы развитию темы на форуме. Буду копать дальше, уже завтра, тогда отпишусь.

Разобрался с причиной отсутствия данных в массиве: в категориях не было постов. После их добавления смог вывести данные таким способом:
$category = get_the_category();
echo $category[0]->cat_name;
echo $category[0]->cat_ID;
echo $category[1]->cat_name;
echo $category[1]->cat_ID;
и т.д.
динамического вывода в цикле добиться не удалось. Работаю дальше..

🙂
Решил проблему:

...<?php while (have_posts()) : the_post(); ?>
<?php foreach((get_the_category()) as $category) {
$cat = $category->cat_ID;
$link = get_category_link($cat);
echo '<li><a href="'.$link.'"><img src="../img/'.$category->cat_ID.'.jpg" alt="'.$category->cat_name.'" />'.$category->cat_name.'</a></li>';
}
?>
<?php endwhile; ?>...

Все работает! Выводятся изображения категорий с названием категории. Всем спасибо за внимание и помощь.

Anonymous
Отправить
Ответ на: