В этом посте расскажу как сделать вывод тегов в wordpress списком, с одинаковым размерам шрифта.
Для этого потребуется немного модифицировать функцию вывода тегов wp_tag_cloud(), которая определяется в файлике wp-include/category-template.php.
По умолчанию массив с тегами задаётся следующим образом:
$defaults = array( 'smallest' => 8, 'largest' => 22, 'unit' => 'pt', 'number' => 45, 'format' => 'flat', 'orderby' => 'name', 'order' => 'ASC', 'exclude' => '', 'include' => '', 'link' => 'view', 'taxonomy' => 'post_tag', 'echo' => true );
При этом используются следующие параметры:
smallest — наименьший размер шрифта тега (число).
largest — наибольший размер шрифта тега (число).
unit — Единица измерения для smallest и largest. Например: pt, px, em, %; по умолчанию pt.(строка)
number — Количество выводимых тегов. (Используйте ‘0′ для вывода всех меток.) (целое)
format — Форматирование вывода облака тегов (строка).
- «flat» (По умолчанию) разделяются пробелом
- «list» теги заключаются в список UL с классом class=’wp-tag-cloud’
- «array» теги возвращаются в виде массива для использования в PHP.
orderby — Сортировка тегов (строка).
- «name» (По умолчанию) по имени
- «count»
order — вывод (строка). В верхнем регистре:
- «ASC» (По умолчанию)
- «DESC»
- «RAND» случайным образом.
exclude — список исключаемых тегов, разделенные запятой (строка).
Например, ‘exclude=1,30′ исключит метки с the term_id 1 или 30.
include — список включаемых тегов, разделенные запятой (строка).
Например, ‘include=5,20′ добавит метки с the term_id 5 или 20.
В итоге исправленный вариант должен выглядеть так:
$defaults = array( 'smallest' => 1, 'largest' => 1, 'unit' => 'em', 'number' => 0, 'format' => 'list', 'orderby' => 'name', 'order' => 'ASC', 'exclude' => '', 'include' => '', 'link' => 'view', 'taxonomy' => 'post_tag', 'echo' => true );
А как еще добавить указание количества постов с этим тегом (как у категорий)?
Добрый день!
В файле wp-includes/category-template.php для вывода облака тегов у меня указаны стандартные настройки: сортировка по имени, по алфавиту
function wp_tag_cloud( $args = '' ) {$defaults = array(
'smallest' => 8, 'largest' => 14, 'unit' => 'pt', 'number' => 45,
'format' => 'list', 'orderby' => 'name', 'order' => 'ASC',
'exclude' => '', 'include' => '', 'link' => 'view'
);
Но сортируются по алфавиту только английские теги, а русские выстраиваются в каком-то не поддающимся логике порядке. Подскажите, в чем дело и как это исправить.
А как можно вывести тэги в заданном порядке при использовании include?
у вас много полезных статей, буду постоянным читателем!
Всем привет
Прекрасный сайт, замечательное оформление, спасибо автору сайта.
попробую поискать решение