Настройка вывода облака меток в WordPress (wp_tag_cloud)

Подтолкнуло к написанию этой заметки случайно увиденная мною проблема, по умолчанию WordPress выводит только 45 тегов в облаке! Поиск решения занял время, но как оказалось все просто.

Увеличить количество тегов в облаке меток Wordpress? Создайте в файле functions.php вашей темы код, в котором параметр number отвечает за количество выводимых тегов.

function filter_widget_tag_cloud_args( $array ) {
    $array['number'] = 500;
    return $array;
};
add_filter( 'widget_tag_cloud_args', 'filter_widget_tag_cloud_args', 10, 1 );

То есть этим кодом мы переопределяем параметры по умолчанию функции wp_tag_cloud. Функция wp_tag_cloud и ее параметры по умолчанию задается в файле wp-includes/category-template.php.

        $defaults = array(
                'smallest'   => 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,
        );

Соответственно вы можете менять и другие параметры, чтобы кастомизировать вывод облака тегов, например изменить сортировку, задать размеры и/или собственные стили и т.п.. Как вы поняли все параметры не обязательно указывать, а только те что будут нужны именно вам.

add_filter( 'widget_tag_cloud_args', 'filter_widget_tag_cloud_args', 10, 1 );
function filter_widget_tag_cloud_args($args)  {
$args = array(
'smallest' => 10, 
'largest' => 32, 
'unit' => 'px',
'number' => 25,
'format' => 'flat', 
'separator' => '<br>', 
'orderby' => 'name', 
'order' => 'DESC',
'exclude' => '', 
'include' => '', 
'link' => 'view',
'taxonomy' => 'post_tag',
'echo' => 0
); 
return $args;
}

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

  1. smallest – Параметр что задает минимальный размер шрифта для наименее популярных меток.
  2. largest – Обратный параметр, что задает максимальный размер шрифта самых популярных меток.
  3. unit – Выбор в каких единицах будет измерятся размер шрифта. Можно указать - пункты pt, пиксели px, проценты %.
  4. number – Указывает количество меток что будет выводится. По-умолчанию выводится 45 меток.
  5. format – Задает нужный формат вывода меток. Можно указать следующие параметры: flat - метки разделяются пробелом(этот параметр установлен по умолчанию). list – вывод в виде списка UL. array – вывод в виде массива для PHP.
  6. separator – Указывает какой разделитель будет между метками. По-умолчанию задан пробел. Можете указать запятую, тире, точку с запятой и так далее. Vj;yj ddtcnb ntrcn bkb HTML теги. Например если сделать так: 'separator' ⇒ "<br>", то бишь поставить тег переноса на новую строку br, то метки выстроятся в колонку по одной.
  7. orderby – Задаем вид сортировки: name - сортировка по алфавиту. Задана по-умолчанию. count – сортировка по количеству. Чем больше раз метка присвоена записям, тем ранее выведется в списке.
  8. order – Порядок сортировки: ASC - сортировка по возрастанию. Задана по-умолчанию. DESC – сортировка по убывание. RAND – случайная сортировка.
  9. exclude – Указываются те метки, что нужно исключить из списка вывода.
  10. include – Только эти метки выведутся. Указывать нужно ID и через запятую.
  11. link — Данный параметр указывает путь, куда будет вести ссылка метки. view - ссылка будет вести на страницу метки. Задано по-умолчанию. count – ссылка ведет на страницу редактирования метки. Доступно только администраторам. Обычные посетители не смогут никуда перейти после нажатия на метку.
  12. echo – Выводить на экран метки просто как ссылки или заключить их в блок с классом tagcloud, атак же выводить название виджета. 0 - метки выводятся как блок виджет(по-умолчанию). Применяются стандартные стили для виджета "Облако меток". 1 – выводятся просто как ссылки без заключения в блок.
  13. taxonomy — Параметр, что отвечает за то в каком виде будет построено облако. post_tag - выведутся просто метки и все. Параметр задан по-умолчанию. category – Вместо меток, выводится список категорий, где данная метка применялась.