tag cloud plugin

Categories: wordpress

Wordpress - очень хороший движок для блога. Перейдя на него с MovableType, я понимаю, что это так. Однако Wordpress естественно не предполагает предоставления широкой функциональности, которая удовлетворит все нужды. Для этого у него есть система плагинов, которая к слову говоря очень мне понравилась: загрузил, включил и пользуешься.
Одним словом, мне понадобился вывод категорий не стандартным списком, а в виде Облака Тагов (Tag Cloud).
Поискав, я хоть и нарыл пару-тройку плагинов, но все же не был доволен ими. Соответственно я попытался написать свой. И написал! :) Результат смотрите в правой колонке.

Плагин: TagCloud
Версия: 0.3.0
Скачать: Тут

Установка:

1. Распаковать скачанный файл.

2. Отредактировать файл “tag_cloud.js” в директории “tag_cloud” таким образом, чтобы в первой его строчке вставить адрес своего блога. Т. е. у вас там должно быть что-то типа:

var site_url = 'http://some.blog.ru/';

3. Загрузить содержимое распакованного архива в директорию “/wp-content /plugins/”. Т. е. у вас получится, что файл “tag_cloud.php” будет находиться в директории “/wp-content /plugins/”, а кроме того, в этой директории будет создана поддиректория “tag_cloud”, в которой будут находиться два файла: “tag_cloud.js” и “tag_cloud_ajax.php”.

4. Отредактировать шаблон боковой колонки своей темы таким образом, чтобы заменить функции, отвечающие за вывод списка категорий функцией “tc_cats_list()”. Т. е. у вас в шаблоне может быть что-то типа:

<?php wp_list_cats('sort_column=name&hide_empty=0'); ?>

или

<?php wp_list_cats(); ?>

или

<?php list_cats(0, '', 'name', 'asc', '', 1, 0, 1, 1, 1, 1, 0,'','','','','') ?>

а вы должны заменить это на:

<?php tc_cats_list(); ?>

5. Продолжить редактирование своего шаблона темы таким образом, чтобы вставить туда две следующие ссылки:

<a href="javascript:sndReq('cloud')">some link text</a>

и

<a href="javascript:sndReq('list')">one more link text</a>

Эти ссылки буду переключателями способа отображения списка категорий.

6. И еще раз продолжить редактирование шаблона темы с тем, чтобы задать для тега “ul”, в котором будет выводиться писок категорий идентификатор “cat_list”. Т. е. у вас должно получиться что-то типа:

<ul id="cat_list" class="categories">

7. В разделе плагинов, в панели управления, активировать плагин

8. Наслаждаться?

Важный замечания:
1. Мое знание PHP находится где-то в районе между “Что вы сейчас сказали? ПэХэПэ? Какая забавная аббревиатура!” и “Как пройти в книжный магазин?” Соответсвенно уверен, что плагин написан не самым эффективным образом и скорее всего с ошибками. Соответсвенно любые замечания, исправления будут более чем желательны.
2. Я использую тему Blix, а значит плагин тестировался в основном на ней. В других темах могут возникнуть проблемы. В этой же вроде все в порядке.
3. Плагин предоставляет самую простую функциональность, но я хотел бы воплотить следующие возможности:

  • страница настроек в административной панели,
  • возможность выбора (через AJAX) пользователем варианта отображения категорий (облако тагов, стандартный список по алфавиту, список не по алфавиту, а по количеству записей),
  • использование куки для запоминания того, как тот или иной пользователь настроил отображение категорий,
  • может быть что-то еще - предлагайте!

В общем такие вот дела. Очень жду комментариев, пожеланий, замечаний. Приветствуются даже отзывы в стиле “Ты ламо, мой PHP сильнее твоего и вообще убей себя!”

UPDATE (31.08.2005): Чуть изменил плагин до версии 0.1.1. с тем, чтобы облако отображалось нормально во всех темах. Сделал все, что мог. Остальное можно сделать только правя непосредственно стили конкретной темы.

UPDATE (08.09.2005): Плагин изменен до версии 0.1.2 Теперь для расчета разброса шрифтов плагин обращается к базе один раз, а не при отображении каждой категории, как было раньше.

UPDATE (14.09.2005): Новую версию, 0.1.3, можно рассматривать как первую стабильную. Плагин больше не использует чужих таблиц (оказывается я написал его так, что он запрашивал в базе таблицу, созданную другим плагином, Cat2Tag). Сейчас он использует только штатные, дефолтные вордпресовские функции, так что должен работать на любой инсталяции.

UPDATE (01.10.2005): Новая версия 0.2.0 - это по сути совсем другой плагин. Теперь нет собственной функции для формирования облака тагов, т. к. в самом ВордПрессе есть такая. Кроме того, и это самое главное - введена поддержка AJAX для динамического переклювения способа представления категорий, а также используются куки с тем, чтобы если уж вы выбрали сопособ представления, то на всех страницах категории бы показывались так, как вы выбрали.

UPDATE (10.02.2006): Обновил плагин до версии 0.3.0, которая теперь работает и в версии 2.0 Wordpress’а.

Август 30th, 2005

24 Comments

  1. Rad

    Очень здорово. Респект!
    Сам код пока не смотрел.

    Август 31st, 2005
  2. alex-and-r

    Рад, что понравилось. По коду же - главная фигня в том, что я при выводе каждой категории обращаюсь к базе, а надо бы один раз обратиться, сформировать запрос, записать его в переменную и потом уже с этой переменной работать, а не каждый раз из базы тянуть…
    В общем, если посмотришь код и дашь какие-то рекомендации, то будет супер! :)

    Август 31st, 2005
  3. korj

    а есть ли такой плагин, который бы позволял добавлять таги просто при написании статьи, а не через спец. раздел Рубрики?

    Сентябрь 5th, 2005
  4. alex-and-r

    korj, да, есть! И что самое интересное, что данный плагин, т. е. TagCloud, работает по идее только при его присутствии. Я сейчас только это вспомнил, когда ты спросил, а в посте забыл написать - надо будет поправить.

    В общем плагин называется Cat 2 Tag Modified. Там можно при написании записи просто дописывать новые категории в строку.

    Сентябрь 5th, 2005
  5. korj

    вот спасибо, то что надо! щас буду ковырять!

    Сентябрь 5th, 2005
  6. Wordpress.ru » Пл&hellip

    […] Скачать плагин “Облако тагов” Опубликовано в: Плагины RSS лента комментариев этой записи. TrackBack URI.  […]

    Сентябрь 10th, 2005
  7. alex-and-r

    Плагин практически полностью переписан. Теперь он должен работать более логично, а самое главное удобно.

    Октябрь 1st, 2005
  8. YoYurec

    А какие плагины ты используешь для комментариев? Я имею ввиду разнообразное оформление автора, трекбеков…

    Ноябрь 18th, 2005
  9. alex-and-r

    YoYurec, я использую только один плагин - Official Comments - он выделяет мои комментарии, а все остальное - это стандартные возможности данной темы. Тема называется Blix. Все CSS’ом делается.

    Ноябрь 19th, 2005
  10. YoYurec

    а как ты сделал ссылки на technoraty(те, с иконкой)? темплейт вывода категорий сам правил судя по всему?

    Ноябрь 27th, 2005
  11. YoYurec

    кстати, функции list_cats_cloud(); в моём WP 1.5.2 нет…

    Ноябрь 27th, 2005
  12. roman

    Привет, а ты не мог бы выложить тут (или выслать) скрипт Cat 2 Tag Modified, который у тебя работает, а то по ссылке не грузится.

    Январь 26th, 2006
  13. intruder’s register&hellip

    […] Кстати, по поводу переезда на новуюверсию движка, обновил таки свой плагин TagCloud. Теперь он работает в 2.0.1. […]

    Февраль 10th, 2006
  14. alex-and-r

    2 roman

    Вот здесь вот: http://www.agkamai.org/cat2tag/ лежит нужный тебе плагин.

    Февраль 12th, 2006
  15. Заметки под ч&hellip

    […] Кстати, данный плагин можно найти тут http://register.intruder.ru/2005/08/30/tag-cloud-plugin/ Posted by woofer Filed in Blogging […]

    Февраль 27th, 2006
  16. Роман

    Доброго времени суток

    Я чего-то не понимаю

    У меня было:
    Categories

    Что теперь должно быть?

    Если это -

    Categories

    some link text
    one more link text

    то у меня на месте категорий появляется не то, что должно быть, а лишь это:

    some link text one more link text

    Где ошибки?

    Спасибо,
    Роман

    Март 29th, 2006
  17. Harald Martin Ström &raq&hellip

    […] When I implanted the tagging I first looked at Ultimate Tag Warrior 3 but it seemed too advanced for my needs, so I decided to use the native category system in WordPress 2.0, that lets one add tags (categories) by just entering them in separated by comma in a text field (WP 1.x didn’t have this feature). The tag cloud is a modified and simplified version of Tag Cloud Plugin. Update April 20, 2006 The theme is now released in a beta version. Some notes: * You’ll need the [Post Updated Plugin](http://guff.szub.net/post-updated) to get the the pages’ last modified times. * My “lite” version of the [TagCloud plugin][tagcloud] can be [downloaded here in zip format](tag_cloud.php.zip). * You’ll problably want to change the `autosave` attribute’s value (line #24) in `javascripts/global.js` to your own unique id. [More on the attributes here](http://weblogs.mozillazine.org/hyatt/archives/2004_07.html#005890). I also found this great plugin for the admin area, [Cat2Tag](http://www.agkamai.org/cat2tag) for easier tagging of your content (without using a separete database like [Ultimate Tag Warrior 3][utw] does. Cat2Tag just use WordPress’ own categories instead. […]

    Апрель 20th, 2006
  18. azzy

    может что не так делаю … после установки в сайдбаре вылетает:
    Warning: Missing argument 1 for get_category_link() in /public_html/wp-includes/template-functions-category.php on line 22
    ниже список категорий, 2 переключателя, которые не работают, более ничего не происходит. что не так?

    Июль 11th, 2006
  19. Pralidiaccarl

    These strategies are universal to the art and science of fat loss, and have for the most part been circulating as absolute fact around the bodybuilding community for decades.

    Ноябрь 30th, 2007
  20. pill propecia&hellip

    pill propecia

    news

    Декабрь 17th, 2007
  21. Авиалегкобыстрый автомобиль

    Автор молодец! Тема почти раскрыта. Приглашаю почитать мою статью о авиалегкобыстром автомобиле будущего

    Сентябрь 25th, 2008
  22. Головомозгий дешифратор

    В целом неплохо, но не хватает остринки.

    Сентябрь 27th, 2008
  23. Головомозгий дешифратор

    Спасибо за Ваш труд!!

    Сентябрь 27th, 2008
  24. insurance young driver

    Было бы интересно узнать поподробнее

    Сентябрь 28th, 2008

Leave a Comment

Required

Required, hidden

Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

Trackback this post  |  Subscribe to the comments via RSS Feed

My del.icio.us

Links