Выделение постов из выбранной категории на главной.

Собственно нужно было на главной блога выделить посты из нужной категории отдельно. Пример реализации – blogomob.ru. Тут посты из категории "блогомобы" имеют серый фон. Можно сотворить всё что вы с ними хотите через css.

Делается так:

для выделения на главной странице index.php
дописываем в шаблон

[quote]<?php get_header(); $uniq_id = 1; ?> // 1 – номер категории. смотрим в админ панели

<div id="content" class="narrowcolumn">

<?php if (have_posts()) : ?>

<?php while (have_posts()) : the_post(); ?>

<div class="post" id="post-<?php the_ID(); ?>"<?php if(in_category($uniq_id)) print " class=\"super_post\""; ?>>[/quote]
теперь в css прописываем правила для класса super_post

я к примеру поставил пока только background: #нужный цвет. вообще тут только ваша фантазия и знания css )

Спасибо Николаю, за помощь 🙂

да ладно уж, что там.. )

а так не проще?

<div class="post" id="post-<?php the_ID(); ?>"<?php if(in_category(23)) echo ' class="super_post"'; ?>>

И более универсальное решение:

<div id="post-<?php the_ID(); ?>" class="<?php foreach (get_the_category() as $ccat) echo 'incat-'.$ccat->cat_ID.' '; ?>post">

в переменную вынес для простоты управления, Ю.Б. вариант действительно хорош, универсален, у мну цель была минимальна

Всё логично: для простой задачи – простое решение. И вынос в переменную – правильный ход, если есть хоть малейшее подозрение, что цифру когда-то придется менять. Бо фиг найдешь потом в дебрях кода.

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

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