WP as CMS: описания всех категорий с помощью одного плага

Мы уже умные и знаем, что можно под каждую категорию, путем копирования/переименовывания индексного файла по типу cartegory-N, вставляя перед циклом записей нужный текст, создавать описания для каждой категории.
А вот что если на сайте категорий несколько десятков и переиодически их нужно обновлять? Редактировать, а тем более, искать среди файлов нужный нам, мягко говоря, неудобно. И вот я подумал… Сам я такое не сделаю – в пхп слабоват, но хочу чтобы идею оченили знатоки…
Замысел такой – по типу максовского плага Ушки у нас в админке есть страничка, на которой мы можем добавлять описания для нужных нам категорий, добавляя в поля всего-навсего номер категории и описание. Т.е., редактировать можно описания для всех категорий на одной странице.
А вот в индексном файле перед циклом вывода постов нужно размесить переменную, которая бы определяла, которую категорию показывает индексный файл в данный момент и выводила нужное описание. Если же описание не задано или индексный файл используется по своему прямому назначению, то она ничего не выводит 🙂 Мне кажется все должно быть просто. А как вы считаете, можно такое реализовать и насолько это сложно? Какие могут быть негативные стороны в этом примере?
Может, уже есть подобные готовые решения?

Вообще-то поле "описание" уже присутствует в управления категориями. Остается его только вывести, добавив в нужном месте <?php echo category_description(); ?>

Вообще-то поле "описание" уже присутствует в управления категориями. Остается его только вывести, добавив в нужном месте <?php echo category_description(); ?>

ага, но оно ведь только текстовое! а если я хочу вставить таблицу где будет, картинки, другие обьекты?

Плагина с одной функцией

remove_filter('pre_category_description', 'wp_filter_kses');

оказалось достаточно, чтобы WP перестал выбивать из описания рубрики теги html. Я проверил на смайлике – сработало. Но понятное дело, что придется внимательно следить за кодом, который будет вноситься в это поле.

ага, а можно полный текст плагина, а то я в пхп не силен.. и еще, там не будет ограничений по кол-ву символов? можно, я так понимаю, будет и картинки, и ссылки добавлять, верно?

Дак что, продолжения темы не будет?

Ю.Б., все сделал, спасибо, только вот теперь титлы категорий показывает с кодом. как решить данную проблему – заблокировать их поках вообще или чтобы показывало без кода?

Еще раз спасибо Ю.Б., такой маленький, но очень полезный плагин получился, сегодня его опробовала.
Кому нада готовый: http://sonika.ru/trash/ub-category-description-html.zip

sonika, а ты каким-то образом решила проблему с титлами категорий? См. выше или http://forum.maxsite.org/viewtopic.php?id=1872
Ты, пока, я так понял, еще не заметила проблему…

А какая с ними проблема? В wp_list_categories что ли как title к ссылке на категорию? Дык я не использую, у меня стандартно «показать все записи в категории такой-то».
Или о чем речь?

Небольшая модификация плагина, убирающая из title ссылки теги html.

<?php
/*
Plugin Name: allow html in category descriprion
Plugin URI: http://forum.maxsite.org/viewtopic.php?pid=8540#p8540
Description: Плагин, который убирает фильтр, вырезающий html код из описания рубрик (category_description) <a href="http://forum.maxsite.org/viewtopic.php?pid=8540#p8540">Отсюда</a>.
Author: Ю.Б.
Author URI: http://blog.portal.kharkov.ua/
*/

function title_filter($content) {
    return preg_replace_callback('/title="(.*?)"/i', @title_rpl, $content);
    return $content;
}

function title_rpl($title) {
     return preg_replace('/&lt;.*?&gt;/m','',$title[0]);
}

add_filter('wp_list_categories', 'title_filter');

remove_filter('pre_category_description', 'wp_filter_kses');

?>

Проверяйте, дорабатывайте…

Может я туплю уже под вечер, однако никак не могу понять как в title ссылки у кого-то оказываются теги html?

В сайдбаре обычно имеется список категорий, да? Мышу подводишь – вылазит хинт. Если описания категории нет, то по дефолту пишет "посмотреть все записи в категории такой-то". Если есть описание – выводит его. Если в описании есть html, напрмер картинка, то в хинте показывается весь мотлох, типа <img src=…>.

Понятно, я думала что-то другое где-то вылазит окромя title к ссылке на категорию, а я не замечаю 🙂

Ю.Б., огромное спасибо! Отличный плагин!

А проблема та же осталась – в титлах ссылок выводит куски кода (если в описание рубрики начинается с картинки или таблицы). Выглядит ужасно.

Как-нибудь можно это убрать? Или можно например запретить титлы ссылок по всему сайту? Понимаю, что это нехорошо, но чтоб не шокировать публику такими титлами, лучше уж все запретить, имхо…

Подскажите, как решить проблему?

Скопировал, обновил, использую теги типа <strong> – всё ок. Конструкция типа:

<ul>
<li>Здоровье и&nbsp;здоровый образ жизни,</li>
<li>Выбор,</li>
<li>Воспитание гражданина-патриота,</li>
<li>Семья и&nbsp;школа.</li>
</ul>

Не идёт. получаю всё состоящее из <p> и всё тут

Ща посмотрим.

Не удалось вставить эти ul/li в описание рубрики. WP2.5.1

А cat-description-editor позволил такое внести. Но это всё полезло "под мышь". Смотрим дальше.

Обновляем и пробуем.

<?php
/*
Plugin Name: allow html in category descriprion
Plugin URI: http://forum.maxsite.org/viewtopic.php?pid=8540#p8540
Description: Плагин, который убирает фильтр, вырезающий html код из описания рубрик (category_description) <a href="http://forum.maxsite.org/viewtopic.php?pid=8540#p8540">Отсюда</a>.
Author: Ю.Б.
Author URI: http://blog.portal.kharkov.ua/
*/

// + Небольшая модификация плагина, убирающая из title ссылки теги html.
// ++ Небольшая доработка

function title_filter($content) {
    return preg_replace_callback('/title="(.*?)"/is', @title_rpl, $content);
}

function title_rpl($title) {
     return preg_replace('/&lt;.*?&gt;/s','',$title[0]);
}

add_filter('wp_list_categories', 'title_filter');
remove_filter('pre_term_description', 'wp_filter_kses');
add_filter('pre_term_description', 'wp_filter_post_kses');
add_filter('pre_term_description', 'balanceTags', 50);
?>

Спасибо, загрузил, проверю попозжа. На всякий случай помогите найти cat-description-editor , не смог толком выловить из поиска на буржуйском сайте ВП.

первая ссылка в гугле по запросу cat description editor
http://www.laptoptips.ca/projects/category-description-editor/

http://www.laptoptips.ca/projects/category-description-editor/

Спасибо. мне следовало "-" поубирать когда искал…
Ну ничего.. время лечит . 😀

Подскажите пожалуйста, как вобще описания из titl’ов ссылок на категории убрать?
Желательно, чтобы можно было добавить в "Category Description Editor". Или хотябы не плагином, а сам WP править, чтобы небыло тега title в ссылках на рубрики.
Т.к. если описания по несколько тыс. символов, то слишком много лишнего веса в страницах.

http://codex.wordpress.org/Template_Tags/wp_list_categories параметр use_desc_for_title

О, Спасибо.
Вот он гибкий, двиг. Если бы все те доки на русский..

Поставил ub-category-description-html при этом даже отключил , но все равно режутся html-тэги

Вместо
<p>Какой-то текст</p>
<h2>Заголовок</h2>
<p>Еще текст</p>

выводится
<p>Какой-то текст<br />
Заголовок<br />
Еще текст</p>

Картинки соответственно тоже не выводятся. Данная проблема только при выводе в публичной части, при редактировании категории, html-код сохраняется.
Тэги режутся как с установленным Category Description Editor, так и с отключенным. Версия WP 2.9.1

Нашел решение для версии 2.9 – http://wordpress.org/extend/plugins/allow-html-in-category-descriptions/

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