Мой сайт о WordPress и PHP С Днем победы!
21 сентября 2007

Облако тэгов (меток) в WordPress 2.3

Как известно, в WordPress 2.3 появится встроенная поддержка облака тэгов (меток). Я хочу рассмотреть некоторые особенности его использования.

Прежде всего следует отметить, что WordPress не предоставляет никаких средств управления метками. Всё, что у нас будет, так это дополнительное поле в редакторе, где можно будет ввести метки.

Облако тегов (меток) в WordPress 2.3

Для расширения возможностей нужно устанавливать дополнительные плагины и они уже появились.

Первый плагин «Click Tags» добавляет над полем меток кнопки уже использованныех меток:

Облако тегов (меток) в WordPress 2.3

Второй плагин «Advanced Tag Entry» добавляет интерфейс (там же в редакторе) с помощью которого можно добавить/удалить метки, а также создавать новые.

Облако тегов (меток) в WordPress 2.3 с плагином Advanced Tag Entry

Обратите внимание на поле «Slug». По аналогии с рубриками можно задать метке и короткую ссылку. Правда для русских символов происходит не транслитерация (даже с включенным RusToLat), а url-кодирование в виде «%d1...». Поэтому с этой возможностью нужно быть осторожным. Возможно, что разработчики плагина исправят эту ошибку.

Теперь я расскажу о том, как можно организовать вывод меток на сайте.

Метки в самой записи (в теле цикла TheLoop) осуществляются с помощью функции the_tags():

<?php
	the_tags('Метки: ', ', ', '<br />');
?>

- где первый аргумент - текст «до», второй - разделитель меток, третий - текст «после».

Для того, чтобы вывести облако меток, например в сайдбаре нужно использовать функцию wp_tag_cloud(). Функция принимает следующие аргументы (указаны значения по-умолчанию):

  • 'smallest' => 8 (минимальный размер шрифта)
  • 'largest' => 22 (максимальный размер шрифта)
  • 'unit' => 'pt' (единицы измерения)
  • 'number' => 45 (количество меток в облаке)
  • 'format' => 'flat' (разделитель: flat - пробел, list - список, array - массив)
  • 'orderby' => 'name' (сортировка: name - по имени, count - количеству записей)
  • 'order' => 'ASC' (порядок сортировки: ASC - прямой, DESC - обратный)
  • 'exclude' => '' (исключить метки, указываются через запятую)
  • 'include' => '' (включить метки, указываются через запятую)

Вот пример использования:

<?php
	wp_tag_cloud('smallest=8&largest=18&orderby=count&order=DESC');
?>

Для того, чтобы вывести облако в сайдбаре можно использовать и виджет. Правда он не имеет никаких настроек, кроме указания заголовка.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

48 комментариев к “Облако тэгов (меток) в WordPress 2.3”

  1. s3m:

    жду недождусь когда уже выйдет нормальная версия 2.3 на русском языке) обновляться буду только ради этих самых тэгов :)

  2. Serg:

    А когда 2.3 на русском обещают выпустить?

  3. Максим:

    Ну тэги и сейчас доступны в виде плагинов. Вроде как с этим проблем нет. ;)

    Русская версия выйдет через день-два. Я не хочу спешить, потому что даже пререлизы содержали серьезные изменения и нужно будет протестировать сборку и на установку с нуля, и с переходом с предудущей версии.

  4. Lecactus:

    интересно зачем они заново изобретали велосипед с тегами. ведь есть три плагина которые все делают. могли бы один из них просто интегрировать или чуть изменить под свои требования.

  5. Максим:

    Тэги в WordPress это один из способов использования нововведенной таксономии. Я об этом в обзоре написал.

  6. Мак Сим:

    Это называется и жду и боюсь. С одной стороны все дружно запугали плохой совместимостью, а с другой столько фишек новых... :mad:

  7. Слава:

    Тоже только ради тегов жду..

  8. Crash:

    равда для русских символов происходит не транслитерация (даже с включенным RusToLat), а url-кодирование в виде «%d1...»

    Извините, но это не правда. Сегодня тестил WP2.3 RC1 - все теги транслитератировались (ого какое слово...)!
    Тестирование продолжается.

  9. Максим:

    Думаю, что вы просто до конца не разобрались. Я специально еще раз проверил работу плагина Advanced Tag Entry (1.0.2) и оказалось, что он ведет себя довольно странно. Когда вводится метка по-русски, то она сразу переводится в латиницу и уже выводится только её slug. Например вместо «футбол» выводится «futbol». Хотя сами метки на странице выводятся правильно.

    Если же ввести метки без этого плагина, а потом его включить, то при «Create New Tag or Edit Existing Tag» существующих русских меток slug образуется имено в том виде, как я и написал.

    Но есть и хорошая новость. Я проверил работу меток в самой последней сборке WordPress (от 23/09/2007) и в ней, при включенном RusToLat, для меток автоматом создается slug латиницей. Правда есть нюанс. Если включить плагин после того, как добавятся метки, то они уже работать не будут (not found).

  10. Crash:

    Все правильно, я не использовал "тэговые" плагины, установка была с нуля, запись с тегами создавал при включенном Rus-to-lat
    Насчет нюансов: многие плагины будут требовать базу в UTF. Скорее всего базу придется перекодировать (если, конечно, поддержка cp1251 не появиться в русской сборке :smile: )

  11. levati:

    А мне еще понравился встроенный редирект с www адреса. Мэтт наконец-то воткнул свой плагин "no-www" в ядро. :cool:
    За подборку тэг-плагинов - спасибо. Познавательно. Если не понравится 2.3-версия - воспользуюсь. :wink:

  12. Crash:

    Позвольте немного порекламить:
    Выкладываю перевод для второго плагина «Advanced Tag Entry» на русский язык. Скачать плагин (5 кб). Все вопросы, предложения, пожелания - тут!

  13. 2bad:

    А как сделать, чтобы в посте теги отображались?

  14. 2bad:

    Вопрос снят)

  15. Artur:

    Большой тебе респект большой брат!

  16. Lecactus:

    Simple tags для wordpress 2.3 - наиболее мощный плагин для работы со встроенными тегами
    http://lecactus.ru/blog/2007/10/07/851

  17. victorio:

    Что-то не пойму, зачем нужны эти метки, если всю инфу на блоге можно сортировать рубриками?

  18. s3m:

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

  19. Всеволод Козлов:

    Вы написали в посте:

    Для того, чтобы вывести облако в сайдбаре можно использовать и виджет. Правда он не имеет никаких настроек, кроме указания заголовка.

    Как будет отображаться облако, если его реализовать виджетом? Если не трудно :oops:

  20. Валентин:

    Максим, а как можно построить облако рубрик в Wordpress 2.3?

  21. Ikarushka:

    Кто-нибудь знает в каком файле лежит функция wp_tag_cloud()?
    В wp-includes/functions.php я ее не смог найти.
    Спасибище заранее

  22. Lecactus:

    Ikarushka: category-template.php

    а зачем вам она?

    поставьте плагин simple tags (ссылка выше в комментариях) - на порядок больше возможностей

  23. Ikarushka:

    Как раз сижу на Вашем блоге читаю про этот плагин. Я хочу поставить облако не в сайдбар, а в хед и хочу, чтоб у меня после тега было число, а не в title='число'. Да и просто интересно где у этого движка что лежит. Спасибо большое - пошел лазить дальше

  24. Lecactus:

    ну например число можно запихать не в title а рядом написать - расширенный формат позволяет это задать

  25. Максим:

    Иван, сделай добное дело, расскажи как пользоваться этим расширенным форматом. Я к своему стыду так и не разобрался с ним.

  26. Ikarushka:

    То есть эта возможность (расширенный формат) есть у функции wp_tag_cloud(). Скажите плз где можно подробнее почитать про аргументы этой функции.

    Да супер, тут у вас все - ни как не ожидал такой оперативности - впечатляет. Может копилку устроите я бы поддержал проект :)

  27. Lecactus:

    про расширенный формат это я писал про функцию плагина - он выводит облако по своему

  28. Lecactus:

    у меня на странице там все расписано в принципе - экспериментируйте :)

  29. Ikarushka:

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

  30. Ikarushka:

    Еще один глупый вопрос. У меня в теме в CSS-стилях ни где нет классов, которые бы описывали оформления тэгов. Смотрю исходный код страницы через браузер - у тегов есть классы тег, а где стили в теме для этих классов? Видно я сильно не врубаюсь пока. В двух словах - наведите на путь истинный.

  31. Максим:

    У тебя параметры функции, а речь идет о виджете.

  32. Lecactus:

    для тегов не надо описывать стили - например в том плагине, что я указал можно задать автораскраску и размеры в параметрах. цвета и тип масштабирования можно задавать любые
    PS для виджетов можно тоже все задавать в расширенном формате через переменные

  33. Ikarushka:

    Правильно я понимаю? Виджет позволяет мне настроить значения аргументов для функций через админку, плагин еще более расширяет возможности виджета. Короче, если я делаю свою тему, то по крайней мере в случае облака тегов мне не надо зарубаться в стилях темы, а проще настроить оформление через плагин. Так? Еще раз спасибо.

  34. J@:

    Привет. На всякий случай я, хехе, русифицировал (там до фига работы, гыгы) плагин Click Tags. Забрать можно здесь: http://access.denied.ru/soft/wordpress/ru-click-tags.zip

    Если кому-то будет надо - велкам. :)

  35. DARKMAN:

    хм, а подскажите как быть, если у меня стоял 2.1 с модифицированным jerome keywords от Максима http://maxsite.org/ras29

    обновился до 2.3 - что делать? ставить его обратно? или воспользоваться плагинами выше? например simple tag. но как сделать так, что бы информация по тегам сохранилась от предыдущего плагина...?

    Спасибо!

  36. Lecactus:

    jerome keywords

    импортируй через стандартные средства импорта. возможно потребуется в базе переименовать поле с русского на англ (keywords кажется)

  37. DARKMAN:

    Можно по подробнее, если несложно. :)

    1. Я ставлю simple tags
    2. Произвожу импорт информации по тегам к постам из jerome's keywords - как?
    3. с полем потом :) )

    спасибо

  38. Lecactus:

    http://forum.maxsite.org/viewtopic.php?id=2897

  39. Nicola:

    Для меня с облаком все понятно.
    Но тут возник вопрос один. По стандарту в настройках я увидел 2 разных цвета в раскрасе облака.
    А если я хочу не в 2 цвета красить а в 5 ?
    Ни кто не пробовал реализовать ? Или кто может знает как ?

  40. Curt:

    Максим, я столкнулся с таким вопросом... Как каждому тэгу присвоить свой дескрипшн? чтобы когда я захожу на страницу с записями по какому то тэгу, у меня в мете было соответствующее описание этой страницы... а то гугл как то не красиво выводит эти странички :)
    В рубриках достаточно описание рубрики сделать... его all-in-one-seo-pack подхватывает и вставляет в дескрипшн... а для тэгов решения пока не нашел... подскажи а? ;)

  41. WPm:

    Прочитал. Интересно. Полезно. Спасибо. :lol:

  42. Влад:

    А может знает кто - как бы это облако ещё и в кейворды првевратить? :) Ну хотябы для того чтобы потом Я.Директ или АдСенс отображался опираясь на эти теги-кейворды. Вот это (имхо) реальной нужный плагин.

  43. hristofor:

    А еще для этого дела существует плагин - Ultimate tag warrior

  44. Qvot:

    Воспользовался функцией wp_tag_cloud(). Метки вывелись, но когда добавляются слова содержащиеся в рубриках, в метках пишется вместо нужнойметки название рубрики.
    :sad: это только у меня и возможно ли это как то исправить?

  45. Максим:

    У меток и рубрик slug (короткой ссылки) в одной таблице, поэтому метки с рубриками могут «перемешиваться». На форуме обсуждалась эта проблема. Решения, насколько я знаю, нет.

  46. Qvot:

    Ну ничего страшного транслитом писать буду :idea:

  47. Qvot:

    Проблемалегко решается в версии движка 2,5
    Рад и счастлив

  48. Иван:

    Интересно возможно ли сделать несколько видов меток. Например марки автомобилей и города. и выводить разные виды меток в разных облаках.


Оставьте комментарий! (Вы согласны с правилами)

 

:mrgreen: :neutral: :twisted: :arrow: :shock: :smile: :???: :cool: :evil: :grin: :idea: :oops: :razz: :roll: :wink: :cry: :eek: :lol: :mad: :sad: :!: :?:

При добавлении кода (html, php) заменяйте < на &lt; и > на &gt;.
Внимание: антиспам - зверь! Копируйте своё сообщение перед отправкой. На всякий случай.