WP_Cumulus и список всех тегов

Облако теговДля большей красоты и привлекательности страниц, я поставил себе в блог плагин WP_Cumulus. Этот плагин с помощью флеша делает объемным список тегов. Информацию по настройке этого плагина вы сможете найти на странице по указанной выше ссылке. Плагин очень красивый и очень легко встраивается в сайдбар.
У этого плагина есть одно большое достоинство и один большой недостаток. Достоинством является его эстетическая красота и объемность.
Когда я первый раз увидел такое облако тегов, я как завороженный смотрел на эту красоту и не мог отвести взгляда. Но у этой красоты есть большой недостаток: эта красота сделана на флеше. Дело в том, что большинство поисковиков не умеют индексировать флеш. В рунете один гугл в гордом одиночестве внедряет инновационные технологии. Поэтому для остальных поисковиков нужен список тегов на HTML, чтобы поисковики могли проиндексировать все теги. К тому же не очень удобно, когда множество тегов громоздятся в маленьком флеш-баннере, обычно во флеш генерируется только часть тегов. Все остальные обычно лежат на отдельной странице.
Итак, задача стоит такова: создать страницу, которая будет генерить весь список тегов.

Список тегов

Каждая страница в wordpress имеет шаблон, т.е. основу, на которой будет создана страница. Для списка тегов, шаблон страницы будет довольно простой. В этом случае нужно просто вывести список тегов. Список можно вывести с помощью функции wp_tag_cloud().

void wp_tag_cloud(string $args)

Параметры:

  • string $args – строка с аргументами. Аргументы передаются следующим образом: arg1=value1&arg2=value2&arg3=value3. Аргументы могут быть такими:

- smallest – минимальный размер шрифта (по умолчанию 8);
- largest – максимальный размер шрифта (по умолчанию 22);
- unit – единица измерения шрифта (по умолчанию pt);
- number – количество меток в облаке (по умолчанию 45);
- format – разделитель: flat – пробел, list – список, array – массив (по умолчанию flat);
- orderby – сортировка тегов: name – по имени, count – по количеству записей (по умолчанию name);
- order – порядок сортировки: ASC – прямой, DESC – обратный (по умолчанию ASC);
- exclude – теги, которые должны быть исключены;
- include – теги, которые должны быть включены.
Т.е. для вывода всего списка тегов нужно вызвать эту функцию приблизительно с такими параметрами:
При настройке этого плагина, можно указывать любые параметры данной функции.

Шаблон

Шаблон для страницы со списком тегов очень просто сделать. Заходим в папку /wp-conent/themes/имя_текущей_темы, создаем файл alltags.php. В него пишем:

<?php
/*
Template Name: AllTags
*/
?>
 
<?php get_header(); ?>
<style>
	.tagscloud{
		margin-left:20px;
    padding:10px;
    position:relative;
    z-index:2;
    display:inline;
	}
</style>
<div id="content" class="widecolumn tagscloud">
<h2>Список всех тегов</h2>
<?php wp_tag_cloud('smallest=12&amp;amp;orderby=name&&order=ASC'); ?>
</div>
<?php include_once 'sidebar.php';?>
 
<?php get_footer(); ?>

Теперь по порядку разберем, что к чему в этом шаблоне.

/*
 
Template Name: AllTags
 
*/

Этот текст должен быть в начале каждого шаблона. Он задает имя шаблона. Теперь при создании новой страницы, можно будет выбрать шаблон с именем AllTags.
Функция get_header() отобразит шапку, а функция get_footer() отобразит низ шаболна. Инструкция
Подключит сайдбар. Он должен лежать рядом с шаблоном. Если его нет или вы не хотите, чтобы он отображался, то не подключайте его.
Теперь можно создать страницу. В разделе админки Страници->Добавить страницу нужно ввести заголовок, скажем Все теги, а в разделе Атрибуты выбрать шаблон AllTags.

Меню

Теперь можно перейти на главную. Но что это? Мы видим страницу в меню. Так оно по логике вещей и должно быть, но все-таки хотелось бы иметь инструмент в админке для управления видимостью страницы в меню. Возможно где-то есть плагин, который умеет это делать. Но искать неизвестно какой плагин, неизвестно где очень не хочется. Поэтому лучше поищем в документации функцию, которая генерит меню. Эта функция имеет имя wp_list_pages().

void wp_list_pages(sting $args)

Параметры:

  • $args – строка с агрументами, такая-же как и в функции wp_tag_cloud(). У функции wp_list_pages тоже очень много аргументов, но сейчас нас интересует лишь одно.

- exclude – страницы, которые не будут показаны. Идентификаторы страниц должны быть указаны через запятую.
Теперь, как узнать идентификатор только что созданной страницы? Самый простой способ: в разделе Страницы админки, посмотреть ссылку нужной страницы. Там будет что-то вроде http://www.web-junior.net/wp-admin/page.php?action=edit&post=69 . Так вот 69 – это и есть идентификатор, который нам нужен. Параметр для wp_list_pages будет выглядеть так: exclude=69.
Для того, чтобы отредактировать вызов функции, нужно зайти в /wp-content/themes/имя_темы, найти и отредактировать файл header.php. В этом файле где-то в конце (а возможно и в начале) должен быть вызов функции wp_list_pages() с параметрами. У меня это выглядит так:

<?php wp_list_pages('title_li=' ); ?>

Теперь нужно добавить свой параметр exclude.

<?php wp_list_pages('title_li=&&exclude=69' ); ?>

После сохранения файла, в меню страница должна отсутствовать.

Ссылка в облаке

Теперь на страницу нет ссылки в меню. Но нужно предоставить пользователю ссылку возле облака тегов в сайдбаре. В файле /wp-content/plugins/wp-cumulus/wp-cumulus.php найдите функцию wp_cumulus_widget(). В ней после

<?php echo $after_widget; ?>

допишите ссылку на страницу

<a title="Отобразить все теги" href="/vse-tegi">Все теги</a>

Теперь можно сохранить все файлы и просто смотреть на сгенерированное облако тегов.

Чтоб воскресс КПСС, подпишись на RSS

Популярность: 4%

Добавить в

И не забывайте комментировать статью.

Отзывов нет на «WP_Cumulus и список всех тегов»

Адрес для трекбека

Ваш отзыв

Нажимая на кнопку "Добавить" вы принимаете правила комментирования