Как вывести описание рубрики WordPress
От автора: Простая техническая задача, вывести описание рубрики WordPress на страницах архива рубрик решается без сторонних плагинов.
Зачем выводить описание рубрик?
Вопрос, зачем выводить описание рубрик, скорее риторический. Можно ответить, затем, чтобы красиво оформить страницу рубрик, или затем, чтобы улучшить уникальность страниц архивов рубрик, или просто, чтобы блог рубрик имел описание для посетителей.
Важно не то, зачем выводить описание рубрик, важно, что это можно сделать инструментариями WordPress Codex.
Как вывести описание рубрики WordPress без плагина
Под описанием рубрики понимаем текст, который вписан в окно «Описание» при создании рубрики или её изменении.
В зависимости от ваших знаний или используемого редактора это может структурированный текст или текст с картинками и видео.
Вариант 1
Показать описание рубрики на странице рубрики, поможет функция WordPress, catecory_description
. Используется она так:
<?php echo category_description( $category_id ); ?>
Если использовать так:
<?php echo category_description( 345 ); ?>
, то будет показано описание рубрики с ID=345.
Если использовать так:
<?php echo category_description(); ?>
, то будет показано описание рубрики, которую открыли.
Показать рубрику с заголовком
Но описание рубрики не означает, что будет показано название рубрики. Чтобы вывести название рубрики (если автор шаблона забыл это сделать), можно использовать такой код:
<?php echo category_description(); ?> <h1 class="archive-title"><?php single_cat_title('<Это блог рубрики:'); ?></h1>
теги h1
вы можете поменять, по вашим представлениям об оптимизации.
Оформление архива рубрики
Для оформления страницы рубрики нужно код, несколько расширить и добавить указание на класс для описания рубрики и окружить функциональный код в теги <div>
. Например, так:
<div class="category-catdesc"> <h1 class="archive-title"><?php single_cat_title('Это страница рубрики:'); ?></h1> <?php echo category_description(); ?></div>
В данном примере, класс для описания рубрики я назвал category-catdesc и для него (класса) нужно составить таблицу каскадных стилей. Например, такую:
.category-catdesc { background: #C6E1F4; border-left: #FF6E01 5px double; font-style: italic; }
Вариант 2
Второй вариант вывода описания рубрик, относится к выводу описания архивов для категорий, тегов (моток), автора. Здесь используется функция
the_archive_description( string $before = '', string $after = '' )
Параметры по умолчанию кавычки: ”.
В классическом варианте the_archive_description
используется вместе с функцией показа заголовка архива, а именно функцией the_archive_title ()
the_archive_title( string $before = '', string $after = '' )
Куда вставить функцию описания рубрик
Покажу, куда вставить функцию описания рубрик, на примере родного шаблона системы Twenty Seventeen. Нужен файл archive.php.
Важно! При правке кода шаблона соблюдайте безопасность редактирования и имейте резервную копию сайта.
Кусок файла archive.php
, где используется вариант вывода описания для архива:
get_header(); ?> <div class="wrap"> <?php if ( have_posts() ) : ?> <header class="page-header"> <?php the_archive_title( '<h1 class="page-title">', '</h1>' ); the_archive_description( '<div class="taxonomy-description">', '</div>' ); ?> </header><!-- .page-header --> <?php endif; ?> <div id="primary" class="content-area"> <main id="main" class="site-main" role="main"> <?php if ( have_posts() ) : ?> <?php
Можно сделать вывод описания только для текущей рубрики, тот же кусок, но иначе:
get_header(); ?> <div class="wrap"> <?php if ( have_posts() ) : ?> <header class="page-header"> <div class="taxonomy-description"> <h1 class="archive-title"> <?php single_cat_title('Это блог рубрики:'); ?> </h1> <?php echo category_description(); ?></div> </header><!-- .page-header --> <?php endif; ?> <div id="primary" class="content-area"> <main id="main" class="site-main" role="main"> <?php if ( have_posts() ) : ?> <?php /* Start the Loop */
Класс для описания категории назван: taxonomy-description
.
Источник: www.wordpress-abc.ru