Здравствуйте, друзья. В прошлой статье я рассказывал вам как убрать всплывающий текст при наведении курсора на рубрику. И сейчас мы с вами будем учиться выводить описание тех самых категорий на страницу. То есть, если мы нажмем на ссылку какой-либо категории/рубрики, то сначала увидим ее развернутое описание, а после него уже будет выведен список статей. Мне кажется это удобным, да и для seo будет полезно. Как добавлять описание вы уже знаете: Записи — Рубрики — Нужная рубрика — Добавить описание.
Для вывода описания на страницу, необходимо вставить в файл вашей темы archive.php этот код:
< ?php echo category_description(); ?> |
< ?php echo category_description(); ?>
Вставлять его нужно вверху, непосредственно перед началом цикла, а именно перед этим кодом:
< ?php if (have_posts()) : ?> |
< ?php if (have_posts()) : ?>
Хотя, возможно у вас в этом файле содержится немного другой код. Возможно что-то вроде этого:
if (is_category()) { printf( __( 'Category Archive: <span>%s</span>', 'themater' ), single_cat_title( '', false ) ); |
if (is_category()) { printf( __( 'Category Archive: <span>%s</span>', 'themater' ), single_cat_title( '', false ) );
Тогда, вместо single_cat_title напишите category_description.
В принципе уже сейчас наши описания рубрик будут выводится на страницу, как я и говорил. Но это еще не все. Дело в том, что стандартная комплектация WordPress не позволяет добавлять описание в HTML, а это значит, что текст нельзя отформатировать так, как нам нужно, добавить картинки, абзацы и прочие элементы визуального оформления. К счастью, есть решение этой проблемы и даже целых два. Первый — для продвинутых веб-мастеров, как мы с вами :-), а второй для начинающих, с использованием плагина. Начнем с первого.
Необходимо в файл вашей темы functions.php добавить этот код:
1
2
3
4
5
6
7
8
| // Описание категорий в html
$filters = array('pre_term_description', 'pre_link_description', 'pre_link_notes', 'pre_user_description');
foreach ( $filters as $filter ) {
remove_filter($filter, 'wp_filter_kses');
}
foreach ( array( 'term_description' ) as $filter ) {
remove_filter( $filter, 'wp_kses_data' );
} |
// Описание категорий в html
$filters = array('pre_term_description', 'pre_link_description', 'pre_link_notes', 'pre_user_description');
foreach ( $filters as $filter ) {
remove_filter($filter, 'wp_filter_kses');
}
foreach ( array( 'term_description' ) as $filter ) {
remove_filter( $filter, 'wp_kses_data' );
}
После чего вы сможете добавлять описание категорий в HTML. Рекомендуется использовать тег h1 для заголовка. Можно заключить описание в специальный блок div и красиво его оформить, добавить картинки, абзацы и пр. Если у вас что-то вдруг не получится, вы всегда можете обратиться в веб-мастерскую низких цен. 🙂
Новички же могут использовать плагин Rich Text Tags, который добавляет визуальный редактор к описанию рубрик и тегов.
Я посоветую новичкам сразу переходить в первому методу, поскольку он не сложный и избавит ваш движок от лишней нагрузки. И еще, чем чаще вы будете проделывать подобные манипуляции, тем быстрее превратитесь из новичка в опытного пользователя и в дальнейшем сможете вручную оптимизировать базу данных WordPress. Желаю удачи. И если не трудно, поделитесь этой записью в социальных сетях. Спасибо.
Очень интересно:) Нужно попробовать. Спасибо!
Пожалуйста. Если еще красиво оформить это описание с помощью CSS, то смотреться будет красиво.
CSS знаю, а вот оформлять не умею (
Как так?! 🙂 Как вариант можно сделать примерно как на странице Услуги. Посмотрите исходный код, может разберетесь.
Александр, а куда именно вставлять этот код — в начале или в конце перед ?> ? Уточните, пожалуйста! 🙂
В конец файла перед закрывающим тегом ?>
Спасибо, попробую обязательно ваш метод, кажется довольно интересным.
Rich TExt Tags не работает в WordPress 3.9
Здравствуйте, Александр! Спасибо за полезную статью! Только вот у меня файл archive.php не содержит указанных кодов, он вообще всего 6 строчек содержит и ни одной, где было б указано что-либо про category, кроме portfolio-category, но это о другом.Так же и с файлом category.php, только тут вместо описания рубрики выводится этот код, и! на картинке фона, сдвинув вниз вот это поле, где располагаются все записи блога.
Помогите, пожалуйста, очень нужно выводить описание рубрик! 😥
Попробуйте использовать плагин.
Александр, спасибо, но, а какой плагин? Я пыталась найти плагин, который выводил бы описание рубрик на странице рубрики перед перечислением статей, но нашла только один, который выводит описание рубрики в сайдбаре — полная ерунда. Если нормальный плагин существует, подскажите, пожалуйста его название.
В статье есть ссылка на него.
Вот я вставил коды, а дальше делать незнаю что), вы коротка написали, что в файл с функциями вставить код, а что туда писать, как прописывать описания к определнной теме вы не сказали, откуда я знаю)), уточните пожалуйста 😐 😐
В админке: Записи — Рубрики. Там и пишите описание.
Александр, добрый вечер. А в чем может быть ошибка, добавляется описание, можно даже поставить ссылку, но вот нормально оформить с помощью тегов или поставить баннер в описание не получается, просто пропадает код.
Какой именно баннер вы пытаетесь вставить? Код картинки (html) лично у меня вставляется без проблем.
Да код картинки, не сработал.
Возможно это особенности вашей темы, но скорее всего допустили где-то ошибку. Пришлите мне на почту код, который вы пытаетесь вставить, я у себя попробую.
Вот уж спасибо, Александр! Давно хотел сделать подобное, но никак не получалось. Не понимал, почему описание не принимает html код. Теперь отлично. Спасибо! Продолжаю штудировать твой сайт. ))
На праздниках Я стал богатым в этом любимом онлайн-клубе
На самом деле из 5-7 сайтов самое лучшее объяснение. Да и другие скрипты не подходили. В общем спасибо за инфу!
Добрый день. — обязательно этот код перед циклом? если мне нужно описание внизу страницы, то можно под цикл?
Попробуйте.