Как вывести свое описание для категории в WordPress

[ ←Вернуться к стандартному виду ]

Печатная версия

Сегодня обнаружила очень полезную фичу для WordPress, которая обрадовала меня черезвычайно.

Все дело в том, что часто хочется на странице категории (там, где список постов конкретной категории) вывести вступительное слово, например «Вы просматриваете рубрику «Кулинарные рецепты», здесь собраны все мои любимые рецепты приготовления яиц всмятку, наслаждайтесь!».

Вообщем-то несложно вывести такой текст для каждой категории с помощью условий in_category (5), но каждый раз при внесении изменений в текст описания или заведении новой категории следовало править код файлов Темы, неудобно.

Но теперь я знаю — есть способ лучше!

Обращали внимание на поле «Описание: (не обязательно)» при создании или изменении рубрики в админке? Я все время гадала, для чего же оно. Оказывается, туда можно вписать тот самый текст («Вы просматриваете рубрику…») и он будет показан на странице категории!

Всего-то нужно добавить в файл category.php или archive.php (в зависимости от того, какой шаблон используется для вывода рубрик) такой код:


<?php if ( $paged < 2 ) {
// Do stuff specific to first page
?>
<?php if ( is_category() ) : ?>
<h2 id="category-name-header">
<?php echo $cache_categories[$cat]->cat_name ?>
</h2>
<?php add_filter('category_description', 'wpautop'); ?>
<?php add_filter('category_description', 'wptexturize'); ?>
<div id="category-description">
<?php echo category_description(); ?>
</div>
<?php endif; ?>
<?php } else {
// Do stuff specific to non-first page
?>
<?php } ?>

Этот код будет выводить описание категории только на первой странице этой категории (есть возможность выводить что-нибудь для последующих страниц категории — Do stuff specific to non-first page).

Если нужно выводить описание рубрики на всех страницах, то код будет такой:


<?php if ( is_category() ) : ?>
<h2 id="category-name-header">
<?php echo $cache_categories[$cat]->cat_name ?> Category
</h2>
<?php add_filter('category_description', 'wpautop'); ?>
<?php add_filter('category_description', 'wptexturize'); ?>
<div id="category-description">
<?php echo category_description(); ?>
</div>
<?php endif; ?>

Меня огорчили только 2 вещи: нельзя применить html код в описании, и название категории у меня не выводится…(<h2 id="category-name-header">бла-бла</h2>)…

Поэтому вместо


<h2 id="category-name-header">
<?php echo $cache_categories[$cat]->cat_name ?> Category
</h2>

я успешно использовала такой код:


<h2 id="category-name-header">
<?php single_cat_title(); ?>
</h2>

шсточник радости — Кодекс WordPress: Custom Category Page Text.

Дополнительно: про устройство Тем для WordPress можно прочитать здесь: иерархия шаблонов для WordPress, english, с картинками :)

О терминах: рубрика = категория, шаблон = php файл Темы.


Оставить комментарий »

  1. # Eva (1) 04.06.2014 в 17:13

    Шикарно. Первый код встал на ура, всё красиво заработало!
    Спасибо!

  2. # Руслан (1) 27.10.2014 в 21:42

    Подскажите пожалуйста, в какую часть кода конкретно нужно вставить данный код.  У меня archive.php и я не понимаю куда именно нужно вставить код, спасибо.

  3. # Антон (1) 01.01.2015 в 16:36

    Пост взял на заметку, возможно пригодится, писать описание к рубрикам, может помочь в продвижении сайта

Подписаться на фид.
RSS комментариев к этой записи. | TrackBack URI

Написать комментарий


Все саттелиты — в топку! Даже не сомневайтесь. Для вопросов о вордпресс не по теме поста есть два русскоязычных форума по wordpress.


Warning: Illegal string offset 'solo_subscribe' in /var/www/sonika/data/www/sonika.ru/blog/wp-content/plugins/subscribe-to-comments.php on line 304

Подписаться, не комментируя

[ ←Вернуться к стандартному виду ]

Печатная версия