как при входе в категорию вывести все ее посты?

Здаравствуйте, возникла такая проблема:

Существует несколько категорий с некоторым количеством постов.
Необходимо сделать так, что бы при клике на ярлык категории (рубрику) в сайдбаре выводились списком все посты этой категории (не суть где, хоть в том же сайдбаре). Проблема в том, что query_posts и get_posts требуют ID категории, а что делать если оно заранее неизвестно?

Текущя рубрика хранится в переменной $cat. Вообще в моей рассылке в учебном шаблоне Rioni я привел пример такого кода: получение рубрики и получение первой рубрики по номеру поста (см. файл main-cat.php).

Спасибо, посмотрю, хотя на самом деле, просто нужен код "получить номер рубрики – вывести посты рубрики" и как бы все, ибо я плохо знаком с синтаксисом php 😉

Наверное я слишком тупой 🙂 где-то в форуме был код:

<?php
$posts_new = get_posts("cat=$cat&numberposts=100");
foreach ($posts_new as $post_new) :
echo ‘<li class="news_item"><a href="’;
echo get_permalink($post_new->ID);
echo ‘">’;
echo mysql2date(‘j.m.Y’, $post_new->post_date);
echo ‘ – ‘;
echo $post_new->post_title;
echo ‘</a></li>’;
endforeach;
?>

Что тут надо поменять/вставить, чтобы скрипт выводил посты =только активной в данный момент= категории? "get_the_category_by_ID($cat)" или как? 😉 Сейчас он выводит все всех категорий…
Вот тупо, что нужно: Когда открываешь пост, рядом выводятся все остальные посты этой категории.

А подумать не пробовал?
Передать в $cat id категории

Столкнулся с такой же проблемой, get_posts не_может(!) выдать все посты одной категории, смотрел в базе, действительно [post_category] => 0 у всех сообщений, хотя они разкиданы по разным категориям. В итоге get_posts выдает все посты во всех категориях и параметр cat= ему явно по барабану.

Кто-то знает способ как все-же вывести все сообщения одной категории? Помогите, второй день не могу добится желаемого…

Для работы с рубриками нужно определить, где именно вы хотите получить их список. Если это страница рубрики, то есть выполняется is_category(), то вывод этой страницы включая и все подрубрики, и записи далется так (WordPress 2.2):

<h1 class="search"><?php echo get_the_category_by_ID($cat) ?></h1>
<p><i><?php echo category_description($cat) ?></i></p>

<ul class="cat">
<?php
if ( get_category_children($cat) > '' ) // если есть дети
    // список подрубрик
    wp_list_categories('show_count=1&hide_empty=0&title_li=&use_desc_for_title=false&child_of=' . $cat);
?>
</ul>

<ul class="cat">
<?php 
query_posts("cat=$cat&showposts=1000");
if (have_posts()) : while (have_posts()) : the_post(); ?>

<?php 
$k = get_the_category($post->ID);
if ( $k[0]->cat_ID == $cat ) { 
?>

<li><?php
    echo '<a href="'; the_permalink(); echo '">';
    the_title(); 
    echo '</a> - ';    the_time('j F Y');
?></li>

<?php } ?>

<?php endwhile; else: echo '<li><h1>В этой рубрике пока нет записей</h1></li>'; endif; ?>
</ul>

а как на определенной странице вывести все посты !
уже 2 дня не могу сделать подскажите!!!

пробую так :

<?php
if ( is_page('46')  )
    {
get_posts();
    }
else
    {   
}; ?>

но ничего не выводит!

maxxximka, ты разобрался как на определенной странице вывести все посты? Тоже интересует, а то заходишь в категорию и он показывает только 5 постов и чтобы просмотреть все записи из этой категории надо листать нное количество раз по 5 постов, ужасно неудобно.

но ничего не выводит!

А параметры get_posts? А собственнно вывод?
(см. http://codex.wordpress.org/Template_Tags/get_posts)

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