in_category и вывод разного контента

12
H
На сайте с 13.06.2011
Offline
9
#11
yad0ff:
Эмм, этот тэг используется только в одиночных постах (грубо говоря)?

Ну вообще да, входные параметры в эту функцию $category и $_post, соответственно, если $_post (либо $custom_post_id, in_category($category_id, $custom_post_id)) не опеределен, то и результата никакого не будет.

Точнее он будет, функция возвратит false))

Слово не воробей. Все не воробей, кроме воробья!
[Удален]
#12

Попробуйте записать значение in_category() при первом вызове в переменную, и потом, вместо повторных вызовов in_category(), проверять эту переменную. Если, конечно, речь идёт о постах из одной категории.

[Удален]
#13

2Haubergeon, Пробовал получать id поста вне цикла в сайдбаре для дальнейшего использования в in_category(), айди получается рандомно. Получал так: $post = $wp_query->post->ID;

2Freon, пробовал записывать. По идее в переменную пойдет только 0 или 1. По итогу нифига не записалось.

[Удален]
#14

Посмотрите, что у Вас в get_the_category() сначала, прежде чем проверять in_category(). Сдаётся мне, Вы что-то там с бубном перестарались:)

[Удален]
#15

$category = get_the_category();

echo $category[0]->cat_name;

Выводит точно так же рандомные названия категорий. Не пойму почему.

[Удален]
#16

В смысе "рандомные"? Вы один раз прописываете этот код и при каждом обновлении страницы выдаёт случайную категорию? Тогда исследуйте запрос, который посылаете базе и результат, который она возвращает. Может, где-то закрался order_by rand(). Хотя wp_query() по умолчанию должен сортировать по дате.

[Удален]
#17
Freon:
В смысе "рандомные"? Вы один раз прописываете этот код и при каждом обновлении страницы выдаёт случайную категорию? Тогда исследуйте запрос, который посылаете базе и результат, который она возвращает. Может, где-то закрался order_by rand(). Хотя wp_query() по умолчанию должен сортировать по дате.

Да, при каждом обращении выдает случайную категорию.

Мб я косячу с тем циклом, что вставляю в сайдбар?

$myPosts = new WP_Query();

$myPosts->query();

while ($myPosts->have_posts()) : $myPosts->the_post();
foreach((get_the_category()) as $category) {
echo $category->cat_name . ' ';
}
endwhile;
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий