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 рубрики или метки, вложенные элементы которой нужно вывести в облаке.

Источник: misha.blog

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

Путешествует по миру и рассказывает всем о WordPress лично, у себя в блогах и на курсах в Санкт-Петербурге. Умеет просто объяснять сложные вещи, делает это красиво. Организовывает неплохие WordCamp's, но совсем не умеет слушать чужие доклады.

Добавить комментарий

%d такие блоггеры, как: