Плагин облако меток. Виджет «Облако меток» на WordPress. #2 Получим список, не будем выводить его на экран

Метки –это ещё один функциональный элемент на движке WordPress, который используется на ряду с рубриками и строкой поиска. Благодаря им можно улучшить поведенческие факторы на своём веб-проекте, позволяя читателю искать похожие публикации по соответствующем словам.

Зачастую, вывод меток уже реализован в теме оформления (в конце каждой записи), но помимо, можно использовать сторонние плагины типа « », которые создают оригинальный формат «облака меток». Либо воспользоваться имеющимся стандартным виджетом из набора WordPress, который легко впишется в любой дизайн шаблона.

Облако меток

Стандартный виджет «Облако меток» находится в админ-панели в разделе «Внешний вид» — «Виджеты», и устанавливается, как и все другие виджеты (путём перетягивания в активный Sidebar или через контекст-меню).
В отличие от сторонних решений, «облако меток» имеет минимальные настройки, предлагая вебмастеру задать имя для заголовка и отметить вывод таксономии (помимо тегов, будут показываться рубрики и пользовательские типы данных).

Сам код виджета, точнее его функция «wp_tag_cloud», находятся в базовых директориях WordPress (wp-includes), поэтому редактирование исходника не рекомендуется. Но мы можем воспользоваться иным способом тонкой настройки виджета.

Настройки «Облака меток»

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

Мне больше понравился способ через виджет «Текст», и мой вариант принял код следующего вида:

Теперь более подробно о параметрах функции, которые могут использоваться для вывода меток:

  • smallest –минимальный размер для шрифта менее популярных публикаций;
  • largest –максимальный размер для шрифта самых популярных публикаций;
  • unit –единица измерения для размера шрифта, может принимать значения: pt, px, %;
  • number – число меток для вывода (по умолчанию 45);
  • format – формат вывода ссылок: flat (разделенные пробелом – по умолчанию), list – список UL, array – как массив для PHP;
  • separator – значение разделителя между метками (по умолчанию – пробел);
  • orderby – настройка сортировки: name – по алфавиту (по умолчанию), count – по количеству;
  • order – порядок сортировки: по возрастанию – ASC (по умолчанию), на убывание – DESC, случайным образом – RAND;
  • exclude – метки, которые следует исключить из показа;
  • include – метки, которые следует отображать обязательно.

Вместо послесловия

Таким образом редактируя код PHP в текстовом виджете можно добиться требуемого вида для «облака меток». Теперь зная параметры, видим, что приведённый мной пример будет выводить 30 меток с размером шрифта 9pt — 16pt, и сортировать их по алфавиту (по названиям).

Выводит или получает облако меток (список меток в виде облака). Можно указать произвольную таксономию.

Чтобы вывести элементы произвольной таксономии в виде облака, укажите название таксономии в параметре taxonomy .

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

С версии 2.8 был добавлен параметр taxonomy , позволяющий создавать облако не только для стандартных меток, но и для категорий и произвольных таксономий.

Возвращает

null. Выводит на экран html код списка.

  • Возвращает HTML, если параметр echo = false .
  • Вернет массив облака меток, если параметр format = array .
  • false, если не удалось получить метки.

Шаблон использования

wp_tag_cloud(array("smallest" => 8, "largest" => 22, "unit" => "pt", "number" => 45, "format" => "flat", "separator" => "\n", "orderby" => "name", "order" => "ASC", "exclude" => null, "include" => null, "link" => "view", "taxonomy" => "post_tag", "echo" => true, "topic_count_text_callback" => "default_topic_count_text",));

Использование

$args(строка/массив) Аргументы, на основе которых будет построен список.
По умолчанию: базовые значения

Аргументы параметра $args

В $args можно также указать все параметры функции get_terms() . Получение элементов таксономии работает на базе этой функции.

Smallest(число) Размер текста для меток с меньшим
По умолчанию: 8 largest(число) Размер текста для меток с большим количеством записей (единицы измерения указываются в параметре unit).
По умолчанию: unit(строка) Единицы измерения параметров smallest и largest . Может быть любым CSS типом размера: pt , px , em , % .
По умолчанию: "pt" number(число) Максимально количество меток, которое будет показано в списке. Если установить на 0 , то будут показаны все метки без ограничения.
По умолчанию: 45 format(строка)

В каком формате выводить список. Может быть:

  • flat - метки будут разделены разделителем, указанным в параметре separator ;
  • list - UL список с CSS классом "wp-tag-cloud";
  • array - вернет облако меток в массиве для дальнейшей обработки в PHP.
    По умолчанию: "flat"
separator(строка) Текст между метками.
По умолчанию: "\n" orderby(строка) Сортировать метки по имени (name) или количеству записей (count). Не влияет на запрос к базе данных.
По умолчанию: "name" order(строка)

Порядок сортировки. Может быть:

  • ASC - по порядку (1,2,3);
  • DESC - в обратном порядке (3,2,1);
  • RAND - хаотичный порядок (перемешать).

order и orderby не влияют на запрос к базе данных. Метки сначала получаются из базы данных, затем сортируются. Эти параметры для получения из базы данных равны: orderby=count и order=DESC и их нельзя изменить.
По умолчанию: "ASC"

Exclude(строка) Исключить указанные метки. Указывать нужно ID через запятую.
По умолчанию: null include(строка) Показать только указанные метки. Указывать нужно ID через запятую.
По умолчанию: null topic_count_text_callback(строка/массив) Функция, которая получает количество записей и возвращает текст для метки. Можно установить свою функцию, если нужно отображать какой-либо другой текст с количеством записей для каждой метки.
По умолчанию: default_topic_count_text link(строка)

  • view - по нажатию на метку, попадем на страницу метки;
  • edit - по нажатию на метку, попадем на страницу редактирования метки.
    По умолчанию: view
taxonomy(строка/массив)

Название таксономии или массив нескольких названий, из которых будет построено облако. Может быть:

  • post_tag ;
  • category ;
  • link_category ;
  • Своя таксономия;
  • Массив названий таксономий - параметр введен в версии 3.1.
    По умолчанию: post_tag
show_count(логический) Показывать ли число записей в метке. По умолчанию 0. Может быть: 0, 1 или true/false. С WP 4.8. echo(логический) 1 - Выводить на экран, 0 - возвращать результат для дальнейшей обработки.
По умолчанию: 1 (true)

Примеры

#1 Базовое использование

Выведем облако меток с заголовком "Популярные метки":

Популярные метки"; wp_tag_cloud("smallest=8&largest=22"); } ?>

#1.2. Еще одни пример демонстрирующий передачу разных параметров

Изменим размеры меток (smallest=15&largest=40), ограничим количество выводимых меток (number=50) и отсортируем их по количеству записей, а не по имени (orderby=count):

#2 Получим список, не будем выводить его на экран

Запишем список в параметр $tag, чтобы потом использовать его в php для своих целей:

#3 Облако категорий

"category")); ?>

#3.1. Облако меток и категорий одновременно

array("post_tag","category"),)); ?>

#4 Изменение текста атрибута title у тега

"my_tag_text_callback")); function my_tag_text_callback($count) { return sprintf(_n("%s картинка", "%s картинок", $count), number_format_i18n($count)); } ?>

#5 Архив меток

Как один из вариантов использования меток, предлагаю создать архивные страницы меток. При клике на определенную метку, мы попадаем на страницу с постами связанными с этой меткой. Как выглядет такая страница, определяется файлом шаблона tag.php , если такого файла нет (обычно его ент), то формирование вывода отдается файлу archives.php .

Давайте сделаем страницу метки, на которой в самом начале будет показано облако меток, а после него записи относящиеся к выбранной метке. Для этого создадим (если нет) или изменим (если существует) файл tag.php. Создавать файл нужно в каталоге темы.

Содержимое файла tags.php:

Tag Archive

" rel="bookmark" title="Permanent Link to ">

В данном примере не учитываются CSS стили, поэтому возможна несовместимость с шаблоном.

#6 Изменение параметров по умолчанию для виджета облака меток через фильтр

Допустим, нам нужно уменьшить максимальный шрифты для виджета с облаком меток. Нужно поставить значение 16, а не 22 для параметра "largest". Для этого используем хук widget_tag_cloud_args

Add_filter("widget_tag_cloud_args", function($args){ $args["largest"] = 16; return $args; });

На этот пример меня подтолкнул этот комменатрий

Заметки

  • В версии 3.1 добавлен возможность передавать массивы в параметр taxonomy ;
  • В версии 2.9 добавлен параметр separator ;
  • В версии 2.8 добавлены параметры taxonomy и echo ;
  • В версии 2.7 добавлен параметр link ;

Код wp tag cloud : wp-includes/category-template.php WP 5.2.2

8, "largest" => 22, "unit" => "pt", "number" => 45, "format" => "flat", "separator" => "\n", "orderby" => "name", "order" => "ASC", "exclude" => "", "include" => "", "link" => "view", "taxonomy" => "post_tag", "post_type" => "", "echo" => true, "show_count" => 0,); $args = wp_parse_args($args, $defaults); $tags = get_terms($args["taxonomy"], array_merge($args, array("orderby" => "count", "order" => "DESC",))); // Always query top tags if (empty($tags) || is_wp_error($tags)) { return; } foreach ($tags as $key => $tag) { if ("edit" == $args["link"]) { $link = get_edit_term_link($tag->term_id, $tag->taxonomy, $args["post_type"]); } else { $link = get_term_link(intval($tag->term_id), $tag->taxonomy); } if (is_wp_error($link)) { return; } $tags[ $key ]->link = $link; $tags[ $key ]->id = $tag->term_id; } $return = wp_generate_tag_cloud($tags, $args); // Here"s where those top tags get sorted according to $args /** * Filters the tag cloud output. * * @since 2.3.0 * * @param string $return HTML output of the tag cloud. * @param array $args An array of tag cloud arguments. */ $return = apply_filters("wp_tag_cloud", $return, $args); if ("array" == $args["format"] || empty($args["echo"])) { return $return; } echo $return; }

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

Сегодня мы рассмотрим один способ вывода облака тегов на отдельной странице сайта, и через стандартный виджет, задав каждому тегу разный цвет ссылки или фона. В итоги получим цветное облако тегов, и ко всему этому добавим вывод обычных меток в конце поста.

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

Облако тегов на отдельной странице

Для реализации нам понадобится , убрать лишние функции и добавить свои в нужном месте. Детали, касающиеся шаблона, я пропущу в описание, затрону только основные моменты (со всем остальным можете ознакомиться по ссылке выше).

Продублируйте стандартный файл page.php , сохраните его под именем tags.php и в самом начале файла добавьте комментарий:

/* Template Name: tag cloud */

Внутри данного файла уберите ненужные функции: цикл, навигация, форму комментариев и все остальное, что не понадобится. По идеи должно остаться header, sidebar, footer и блоки, сохраняющие корректность вида контента.

заменим ее на эту:

Осталось прописать в файле functions.php следующий код:

|i", "colorCloudCallback", $text); return $text; } function colorCloudCallback($matches) { $text = $matches; #Цвет фона тегов $colors = array("F99","C9C","F96","6CC","6C9","37A7FF","B0D686","E6CC6E"); $color=$colors; $pattern = "/style=(\"|\")(.*)(\"|\")/i"; #Стили тегов $text = preg_replace($pattern, "style=\"display: inline-block; *display: inline; *zoom: 1; color: #fff; text-shadow: 1px 1px 1px #989898; padding: 1px 5px; margin: 0 5px 5px 0; background-color: #{$color}; border-radius: 2px; text-decoration: none!important; -webkit-transition: background-color .4s linear; -moz-transition: background-color .4s linear; transition: background-color .4s linear;\"", $text); $pattern = "/style=(\"|\")(.*)(\"|\")/i"; return "

Он добавит рандомный (случайный) цвет фона меток.

Результат.

Цветное облако тегов в сайдбаре

Чтобы в сайдбаре вывести обычное облако тегов, достаточно использовать стандартный виджет. Он присутствует изначально на любом сайте WordPress, и находится в разделе «Внешний Вид-Виджеты ». Но, по неизвестным причинам, если это кому-то не подходит можно также использовать функцию wp_tag_cloud . Только вначале , затем в него поместить такой код:

И в последнем действие добавим в файл functions.php следующий код:

Function colorCloud($text) { $text = preg_replace_callback("||i", "colorCloudCallback", $text); return $text; } function colorCloudCallback($matches) { $text = $matches; $color = dechex(rand(0,16777215)); $pattern = "/style=(\"|\")(.*)(\"|\")/i"; $text = preg_replace($pattern, "style=\"color:#{$color};$2;\"", $text); return ""; } add_filter("wp_tag_cloud", "colorCloud", 1);

Предупреждение. Не используйте одновременно две эти функции (цвет фона, цвет ссылки) иначе может быть конфликт. Выбирайте что-то одно, и оно будет работать со всеми метками.

Результат.

Вывод меток в конце поста

В заключении, как говорилось выше, выведем теги в конце статьи. Нам нужно добавить в файл single.php , после функции , такой код:

"); ?>

И чуток стилей оформления.

Tagpost a{ background:#D02B7B; border-radius:2px; padding:4px; text-decoration:none !important; color:#fff!important; font-size:11px; }

Результат.

Вот и все.

В этой статье я познакомлю вас с тремя способами вывода облака меток на блоге. Каждый способ вывода имеет свои преимущества. Давайте рассмотрим каждый способ по отдельности.

1-ый способ. Вывод облака меток кодом php
Преимущество: облако меток можно вывести в любом месте.

Кстати, недавно, меня этот способ здорово выручил на оном из моих сайтов, так как мне нужно было задать свой стиль к заголовку и к самим меткам.
Недостаток: нужно уметь работать с кодами. К сожалению, не все любят или даже не умеют что-то исправлять в файлах.
Вот сам код:

Облако меток:

Код вставляете в любом месте в файле вашей темы (шаблона).

Дополнительные параметры :

○ Параметр «smallest» – определяет размер шрифта тега с наименьшей популярностью.

○ Параметр «largest» – определяет размер шрифта тега с наибольшей популярностью.

Комбинируем два параметра «smallest» и «largest» :

○ Параметр «number» – определяет количество показанных тегов на странице

○ Параметр «orderby» – производит сортировку тегов по имени (name) и по популярности (count)

Или

○ Параметр «order» – выводит облако тегов в алфавитном порядке – ASC(А-Я), DESC(Я-А) и RAND (случайный порядок вывода).

○ Параметр «exclude» – поможет исключить из общего списка ненужные метки. ID меток прописываете через запятую.

○ Параметр «include» – поможет указать, какие метки выводить в общий список. ID меток прописываете через запятую.

2-ой способ

Преимущества: это быстро.
Недостатки: есть ограничения в настройках, да и не всегда можно оформить, как хочется.
Итак, зайдите в админ панель => «Внешний вид» => «Виджеты» . Слева найдите виджет «Облако меток» . Нажмите на него

и выберите доступное место для вставки виджета.

3-ий способ . Вывод облака меток через плагин «wp-cumulus» или «Tag Cloud Canvas»
«WP-Cumulus» или «Tag Cloud Canvas» - плагин для создания 3D облака тегов в WordPress и после установки облако меток имеет вот такой вид:

Скачать плагин «WP-Cumulus» и посмотреть, как он настраивается, можете по этому адресу:

https://mywordpress.ru/plugins/wp-cumulus-oblako-tegov/

Скачать плагин «Tag Cloud Canvas»:

https://wordpress.org/plugins/tag-cloud-canvas/

Преимущества: красивый и быстрый вывод облака меток.
Недостатки: не всегда подходит под дизайн блога, а также лишняя нагрузка на блог.

На этом все, друзья! Желаю сделать вам правильный и удачный выбор!

В этом посте мы разберем плагин WP-Cumulus который выводит метки (теги) в виде подвижной объемной сферы (flash ).Облако тегов удобно тем, что посетителю не нужно будет искать интересные ему статьи по всем рубрикам, а просто воспользоваться тегами.

Установка плагина и настройка

1. Ваша версия WordPress должна быть 2.3 или выше. Облако тегов для W ordpress не будет работать с более старыми версиями.

2. Качаем русскую версию Кидаем папку wp-cumulus в ваш каталог плагинов (wp-content/plugins/ ).

3.Активируем плагин в админке.

Все настройки плагина находятся в (Парамет рах\WP Cumulus) . Если вдруг у вас в настройках плагина не стоит галочка, (Расположить теги равномерно на сфере ) то нужно обязательно поставить. А то иначе теги в облаке будут друг на друга наезжать и будет не красиво.

Чтобы вывести wordpress облако тегов, у вас есть три варианта.

1. Если вам нужно вставить wordpress облако в статью или в страницу, добавьте в нее тег

Этот тег будет заменен на flash облако тегов при просмотре страницы.

2. Для вставки wordpress облака тегов через шаблон используем код:

3. Если вы хотите вывести облако тегов в сайдбаре.То вам нужно зайти в (Дизайн\Виджеты ) и добавить виджет.

Виджет имеет отдельный набор настроек, так что можем изменить цвет фона, размеров и т.п.

Настройте этот виджет так, как вам нужно и нажмите на "Сохранить ".

Все переведено на русский, думаю разберетесь.