WP_TAG_CLOUD() │ WP 2.3.0
Функция WP_TAG_CLOUD() позволяет отображать облако тегов на вашем сайте. Размер текста тегов регулируется параметрами smallest и largest, которые определяют минимальный и максимальный размеры шрифта соответственно. Параметр unit указывает единицу измерения для CSS (например, "pt" для пунктов).
Функция принимает следующие аргументы:
-
format — определяет формат отображения тегов:
flat(по умолчанию) — теги разделяются пробелами;list— теги выводятся в виде списка (<ul>);array— возвращает теги в виде массива PHP.
-
orderby — сортировка тегов, может быть
name(по имени, по умолчанию) илиcount(по количеству использований). -
order — направление сортировки, по умолчанию
ASC(по возрастанию), может быть такжеDESC(по убыванию). -
number — количество возвращаемых тегов, по умолчанию отображается 45 самых популярных.
-
topic_count_text — текст для отображения количества постов с тегом.
-
topic_count_text_callback — функция, которая возвращает текст для количества постов по тегу.
-
post_type — используется, когда параметр
linkустановлен наedit. Определяет тип поста для ссылок редактирования популярных тегов. -
exclude и include — параметры, используемые для функции
get_tags(). Можно использовать только один из них, если оба установлены, будет проигнорирован один из них.
Выводит список тегов в виде "облака тегов", где размер каждого тега зависит от того, сколько раз он был использован в постах.
Применение
Для начала, чтобы использовать функцию wp_tag_cloud(), вы должны вызвать её с параметрами, например:
wp_tag_cloud( $args );
Примеры использования функции
- Простое облако тегов:
if ( function_exists( 'wp_tag_cloud' ) ) {
echo 'Популярные теги
';
wp_tag_cloud( 'smallest=8&largest=22' );
}
- Облако тегов в списке:
wp_tag_cloud( [
'format' => 'list',
] );
Это создаст следующий HTML код:
- Изменение размера тегов и сортировка по количеству постов:
wp_tag_cloud( 'smallest=15&largest=40&number=50&orderby=count' );
- Получить массив тегов без вывода на экран:
$tag = wp_tag_cloud( 'format=array' );
print_r( $tag );
- Облако категорий вместо тегов:
wp_tag_cloud( [ 'taxonomy' => 'category' ] );
- Объединение тегов и категорий в одно облако:
wp_tag_cloud( [
'taxonomy' => [ 'post_tag', 'category' ],
] );
- Изменение текста атрибута title ссылки:
wp_tag_cloud( [
'topic_count_text_callback' => 'my_tag_text_callback'
] );
function my_tag_text_callback( $count ) {
return sprintf( _n('%s пост', '%s постов', $count), number_format_i18n( $count ) );
}
- Создание страницы архива тегов:
Создайте файл tag.php в папке вашей темы:
- Кастомизация параметров облака тегов через фильтры:
Чтобы изменить максимальный размер шрифта для виджета облака тегов, используйте следующий код:
add_filter( 'widget_tag_cloud_args', function( $args ){
$args['largest'] = 16;
return $args;
} );
- Изменение формата на индексированный список (OL):
$cloud = wp_tag_cloud( [
'format' => 'list',
'echo' => false,
] );
$cloud = str_replace( [ '' ], [ '' ], $cloud );
$cloud = str_replace( '- ', '
- ', $cloud );
echo $cloud;
Параметры
Стандартные параметры:
- number (int) — количество отображаемых тегов. По умолчанию: 45.
- link (string) — тип ссылки: 'edit' для редактирования или 'view' для просмотра. По умолчанию: 'view'.
- post_type (string) — тип поста для выделения соответствующего меню на странице редактирования. По умолчанию: первый тип поста, связанный с таксономией.
- echo (true|false) — выводить ли результат на экран. По умолчанию: true.
Заключение
Функция wp_tag_cloud() позволяет легко отображать облако тегов на вашем сайте WordPress, настраивая его под свои нужды. Можно управлять стилем отображения, размером шрифта и сортировкой, а также использовать её для создания архивов тегов и категорий.