👍 Научим бесплатно правильно создавать сайты на WordPress. Подробнее →
Задался вопросом как использовать html описание рубрик(категорий). Использую тему Nirvana. Пытался решить проблему установкой плагинов Allow HTML in Category Descriptions и Rich Text Tags, но ни один плагин с данной темой не заработал. После решил покопаться в коде темы. На просторах интернета написано что нужно убрать фильтрацию 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' ); }
или
remove_filter(<span class="hljs-string">'pre_term_description'</span>, <span class="hljs-string">'wp_filter_kses'</span>); remove_filter(<span class="hljs-string">'pre_term_description'</span>, <span class="hljs-string">'wp_kses_data'</span>);
в functions.php ничего не дало.
Есть подозрение что вставляю код не в то место. В самом functions.php есть ссылки или не знаю как это верно назвать на другие файлы темы. Пытался вставить код в эти файлы, но к успеху это так же не привело.
//Loading include files require_once(get_template_directory() . "/includes/theme-setup.php"); // Setup and init theme require_once(get_template_directory() . "/includes/theme-styles.php"); // Register and enqeue css styles and scripts require_once(get_template_directory() . "/includes/theme-loop.php"); // Loop functions require_once(get_template_directory() . "/includes/theme-meta.php"); // Meta functions require_once(get_template_directory() . "/includes/theme-comments.php"); // Comment functions require_once(get_template_directory() . "/includes/theme-functions.php"); // Misc functions require_once(get_template_directory() . "/includes/theme-hooks.php"); // Hooks require_once(get_template_directory() . "/includes/widgets.php"); // Hooks require_once(get_template_directory() . "/includes/ajax.php"); // Hooks
Попробуйте добавить в functions.php:
Чтобы вывести html-описание категории, используйте
Нет к сожалению по прежнему не работает.
Вот что вышло.
Вот так смотрится в админке (как и должно быть)
https://dl.dropboxusercontent.com/u/18354619/ShareX/2015/04/2015-04-30_18-16-40.png
А вот так на самом сайте
https://dl.dropboxusercontent.com/u/18354619/ShareX/2015/04/2015-04-30_18-18-06.png
Теги h1,h2,h3,h4 не работают. Что-то отформатировано, но вроде он так и по умолчанию умеет.
А вы смотрели в исходном коде страницы, присутствует ли html-разметка? Мне кажется, что присутствует, просто в style.css стили не прописаны.
Да в коде странички h1,h2,h3,h4 итд как прописывал есть. Но по факту как видно на скрине не отображается. А что теперь нужно в css добавить? Вот если надо ссылка на css https://dl.dropboxusercontent.com/u/18354619/style.css
Если в исходном коде страницы у описания категории есть html-разметка, то значит код, который вы применили, действует. Вам нужно добавить оформление стилей. Для этого нужно знать, какие классы у H1, H2, или какой класс у блока, в котором находятся эти элементы. Это можно узнать в исходном коде страницы.
Например, h1 находится в блоке с классом category-description:
Сделаем h1 жирным и большим. Для этого добавим в style.css:
Вот теперь кажись всё понимаю. Тоисть теперь получается без прописывания стилей в css ничего отображаться не будет ка как мне нужно? В моём случае не .category-description , а .category-archive-meta . Исходя из этого всплывает другой вопрос. Так как везде на страницах будет прописано .category-archive-meta как задавать разные css свойства. Тоисть к примеру чтобы в одной категории h1 {font-weight:600; font-size:400%;} , а в другой h1 {font-weight:300; font-size:200%;}
У вас блок с описанием имеет класс category-archive-meta независимо от категорий? Или для каждой категории все же добавляется свой класс? Если класс одинаков для всех категорий, то нужно как-то придумать добавить класс. Где у вас выводится описание категории? На какой странице?
Класс на странице категорий одинаковый. Вроде это логично или я не прав). Описание категории выводится на странице категории к примеру http://сайт.ru/category/имя категории/. Если бы для каждой категории можно было бы прописать свой класс вопрос бы отпал) , но я понятия не имею как так сделать.
Проверка
В предыдущий пост неверно вставил код(
Посмотрите, к элементу body у вас добавляется класс, соответствующий текущей категории, на странице, где выводится описание?
Если вы про этот кусок то он в каждой категории одинаковый
Предполагаю, что не одинаковый. Обратите внимание на category-5. Это класс, добавленный для категории с ID=5. Для другой категории будет другой класс category-XX. Проверьте это.
Если есть класс, зависящий от категории, то значит можно создать и соответствующее оформление для описания каждой категории:
Покопаю еще. Возможно я не досмотрел. В любом случае большое вам спасибо. Вы мне очень помогли).
Вы были правы. Цифровое значение в каждой категории разное.
Можно так же отредактировать файл, отвечающий за вывод категории, добавив к блоку с описанием класс, указывающий на категорию. Например, добавим класс, соответствующий названию категории:
В любом случае получим одинаковый результат – для описания каждой категории можно задать индивидуальное оформление.