wp_tag_cloud() — как вывести облако категорий, тегов и других таксономий

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

Надеюсь, что нет, потому что в WordPress уже по умолчанию есть функция, позволяющая это сделать, при этом размер шрифта каждой метки/рубрики в облаке будет зависеть от количества постов в ней! Вот пример:

облако тегов или категорий в WordPress

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

В общем вот сама функция:

wp_tag_cloud( $args )

А вот содержимое массива с параметрами $args, в данном примере указаны значения, используемые по умолчанию:

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

Описание параметров функции:

smallest
(целое число) минимальный размер шрифта.

largest
(целое число) максимальный размер шрифта.

unit
(строка) единицы измерения размера шрифта, например pt, px, em, %.

number
(целое число) количество отображаемых меток/рубрик/элементов таксономий, если установить значение равным 0, то будут отображены все элементы.

format
(строка) формат вывода облака, может принимать значения:

  • flat — разделять ссылки значением параметра separator,
  • list — вывести в виде маркированного списка <ul class="wp-tag-cloud">,
  • array — возвращает ссылки в виде массива для дальнейшего использования в коде;

separator
(строка) строка-разделитель между ссылками.

orderby
(строка) сортировка выводимых тегов/категорий, может принимать два значения:

  • name — по алфавиту,
  • count — по количеству содержащихся записей;

order
(строка) порядок сортировки:

  • ASC — по возрастанию,
  • DESC — по убыванию,
  • RAND — сортировать в случайном порядке;

exclude
(строка) укажите через запятую ID тегов или рубрик, которые нужно исключить.

include
(строка) укажите через запятую ID тегов или рубрик, которые нужно вывести в облаке.

topic_count_text_callback
(строка) название функции, генерирующей всплывающие подсказки для рубрик, например:

всплывающие подсказки в облаке меток

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

function true_no_callback_count( $real_count ) {
	return;
	// return $real_count - отобразить в подсказках количество постов
}

Этот код лучше всунуть в functions.php, а потом уже там, где нужно вывести облако, вставляем:

$args = array(
	'topic_count_text_callback' => true_no_callback_count
);
 
wp_tag_cloud( $args );

link
(строка) куда должны ссылаться ссылки:

  • view — на страницы архивов рубрик/меткок,
  • edit — на страницы редактирования рубрик/меткок;

taxonomy
(строка|массив) именно этот параметр и позволяет вам выбирать, что отображать в облаке — метки, категории или элементы какой-либо другой таксономии, или даже все вместе сразу! По умолчанию выводятся только метки.

Пример с отображением рубрик:

$args = array(
	'taxonomy' => 'category',
);
 
wp_tag_cloud( $args );

Пример с отображением рубрик и меток одновременно:

$args = array(
	'taxonomy' => array('category', 'post_tag'),
);
 
wp_tag_cloud( $args );

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

child_of
(целое число) укажите ID рубрики или метки, вложенные элементы которой нужно вывести в облаке.

Миша Рудрастых Разработчик WordPress WooCommerce

Миша Рудрастых

Впервые познакомился с WordPress в 2009 году, и после двух лет мучений с Joomla и самописными движками это был просто бальзам на душу. С 2014 года меня можно встретить на WordCamp — официальной конфе по WP в Москве, иногда там выступаю. Также в настоящее время веду курсы по WordPress в Epic Skills в Питере.