Вывод облака меток в произвольном месте. Вывод меток wordpress
Вывод всех рубрик и (или) меток в сети WordPress Multisite
network_get_terms()
Так как плагин стал пользоваться популярностью (хотя в рунете на данный момент не заинтересовал почти никого), я решил начать его дорабатывать, и первая из доработок, которую я сделал, это аналог функции get_terms() в WordPress — network_get_terms().
Самое главное отличие этих функций в том, что get_terms() возвращает рубрики/метки/термины с текущего блога, а network_get_terms() — со всех блогов сети в одном цикле.
network_get_terms( $network_taxonomies, $network_args ) |
Параметры функции
Хотел бы я написать, что все параметры идентичны параметрам функции get_terms(), но к сожалению это не совсем так, поэтому придется остановиться на них подробнее.
$network_taxonomies Укажите нужные вам таксономии. Этот параметр также поддерживает возможность указать массив array('post_tag', 'category'). $network_args number Стандартно — указываем число — количество элементов, которое нужно получить. offset Число — количество элементов, которые нужно пропустить от начала. Например если указать 2, то функция начнет получать элементы начиная с 3-го по порядку. Работает только если указан параметр number. include, exclude Укажите в этих параметрах значения локальных ID одного или нескольких элементов (через массив), которые вы хотите включить, исключить (соответственно) из вывода.// в этом примере исключаем рубрики, ID которых равны 1 или 2 на любом из блогов сети $network_category = network_get_terms('category', array('exclude' => array( 1, 2 ) ) ); |
Если одновременно указаны оба параметра, то учитывается только include.
parent Укажите локальный ID элемента таксономии, дочерние элементы (первого уровня) которого вам нужны.Действует по всем блогам сети — т.е. если вы указали ID 11, а у вас на первом блоге есть рубрика с этим ID, и на втором блоге есть, то будут возвращены дочерние элементы первого уровня вложенности обоих этих рубрик.
Если указать 0, то будут выведены родительские элементы 1-го уровня.
$slug Функция ищет по всем блогам сети элементы таксономий с указанным ярлыком. Также можно указать несколько элементов в виде массива. $name Возвращает все элементы таксономий сети с указанным названием. Чувствительности к регистру нет. Можно задать массив из нескольких элементов. $name__like, $description__like В этом параметре достаточно указать лишь часть названия, описания (соответственно). $search Функция будет искать заданную строку в названиях и ярлыках элементов таксономий сети. orderby Параметры сортировки, count — по количеству постов, name — по названию (по умолчанию), slug — по ярлыку, description — по описанию, include — по порядку, указанному в соответствующем параметре (см. выше), id — по значению локального ID. order Порядок сортировки — ASC по возрастанию (по умолчанию) или DESC по убыванию. fields Формат возвращаемого результата функции:- all — массив объектов (по умолчанию),
- names — массив названий,
- ids — массив локальных айдишников.
Фильтры функции
По сути network_get_terms() имеет те же фильтры, что и get_terms(), но только с префиксом network_.
get_terms_args | network_get_terms_args |
get_terms | network_get_terms |
get_terms_orderby | network_get_terms_orderby |
list_terms_exclusions | network_list_terms_exclusions |
get_terms_fields | network_get_terms_fields |
terms_clauses | network_terms_clauses |
Описывать каждый фильтр я сейчас не стану, так как пост не об этом. А вот примеры мы рассмотрим.
Пример 1. Выводим метки со всех блогов WP Multisite
$network_tags = network_get_terms('post_tag', 'orderby=name&hide_empty=0'); if($network_tags){ echo '<select>'; foreach ($network_tags as $network_tag){ echo "<option value='{$network_tag->term_id}'>{$network_tag->name}</option>"; } echo '</select>'; } /* в данном примере понятно, что $network_tag->name - название метки, $network_tag->term_id - её глобальный, уникальный ID среди всех меток сети также существуют и другие параметры: $network_tag->term_local_id - локальный ID метки внутри блога, на котором она находится $network_tag->parent - локальный ID родительского элемента $network_tag->taxonomy - название таксономии, в данном случае post_tag $network_tag->slug - ярлык метки $network_tag->blog_id - ID блога, на котором находится метка $network_tag->description - описание метки $network_tag->count - количество отмеченных ею записей */ |
Как вы наверное заметили, в этом примере не хватает одной важной вещи — то есть у нас есть названия меток, есть их ID, но нет самого важного, ссылок.
На самом деле этот момент я тоже предусмотрел и сделал функцию network_get_term_link(), которая является аналогом стандартной вордпрессовской get_term_link().
Пример 2. Выводим все рубрики с блогов сети WordPress Multisite со ссылками
Представляю вам функцию network_get_term_link(), которая по сути является аналогом get_term_link(), но работает в сети WordPress Multisite.
network_get_term_link( $term, $taxonomy='', $blog_id=null ) |
$network_cats = network_get_terms('category'); if($network_cats){ echo '<ul>'; foreach ( $network_cats as $network_cat ){ echo '<li><a href="' . network_get_term_link( $network_cat ) . '">' . $network_cat->name . '</a></li>'; } echo '</ul>'; } |
misha.blog
Вывод облака меток в произвольном месте — Olunka ♥ layout of sites and emails
Стандартные функции WordPress позволяют выводить облако меток (олако тегов) в виде виджета, который может располагаться только в сайдбаре или футере, причем редактировать его весьма проблематично.
Если вы хотите вывести облако меток в произвольном месте сайта, например под всем сайтом во всю ширину или к конце каждой статьи, вам поможет это руководство по настройке облака меток в WordPress.
Чтобы вывести облако тегов, необходимо добавить вот это код в том месте, где должно появится облако тегов:
1 | <?php wp_tag_cloud('number=300'); ?> |
number=300 в данном случае означает, что будут показаны 300 самых популярных тегов. Также можно указать и другие параметры, рассмотрим подробнее настройки произвольного вывода облака меток в WordPress.
Вывод облака меток или [Tag Cloud]
Синтаксис:
Функция wp_tag_cloud() возвращает и выводит облако меток (облако тегов), и позволяет пользователям просматривать самые популярные теги публикаций блога WordPress.
Для организации вывода, данная функция может принимать следующие параметры:
smallestПараметр, определяющий размер шрифта тега с наименьшей популярностью.Синтаксис:
1 | wp_tag_cloud('smallest=10'); |
largestПараметр, определяющий размер текста тега с наибольшей популярностью.Синтаксис:
1 | wp_tag_cloud('largest=30'); |
unitЕдиница измерения размера текста – ценности тега. Может быть как в пикселях, пунктах, так и в процентах.Синтаксис:
1 | wp_tag_cloud('unit=px'); |
numberПараметр задает число тегов, которые будут показаны на странице. По умолчанию принимает значение раное «0» — оно же применяется для вывода всего облака тегов.Синтаксис:
1 | wp_tag_cloud('number=10'); |
formatФормат вывода облака меток. Параметр может передавать такие значения, как flat (выводит теги, разделяя их символом «пробела»), list(списком) или array (передает массив облака тегов в переменную PHP для дальнейшей обработки).Синтаксис:
1 | wp_tag_cloud('format=list'); |
orderbyСортировка облака тегов. Может передавать такие значения, как name(сортировка по имени) и count (по популярности).Синтаксис:
1 | wp_tag_cloud('orderby=name'); |
orderДанный параметр определяет порядок вывода тегов – ASC(А-Я ), DESC(Я-А) и RAND(случайный порядок вывода).Синтаксис:
1 | wp_tag_cloud('order=DESC'); |
excludeДанный параметр передает список меток (через ID тегов), которые необходимо исключить из общего списка. Метки прописываются через запятую.Синтаксис:
1 | wp_tag_cloud('exclude=5,37'); |
includeДанный параметр передает список тегов (через ID тегов), которые будут выводиться. По умолчанию – выводит весь список тегов. Теги прописываются через запятую.Синтаксис:
1 | wp_tag_cloud('include=5,47'); |
Вот и все настройки вывода облака меток в произвольном месте. Теперь вы самостоятельно сможете определять в каком месте отобразить облако тегов, при этом не внося серьезных изменений в код вашего блога на WordPress.
Похожие статьи
olunka.ru
Оптимизация страниц меток WordPress. | Делитант
В одной из предыдущих записей, я рассказывал о том, как оптимизировать страницы рубрик WordPress. Сегодня – логическое продолжение: всё тоже самое только со страницами меток. Вы узнаете как выводить на веб-страницах описание меток.
После того, как я разрешил индексацию партнерского интернет-магазина, первыми страницами, занявшими хорошие места в выдаче, как раз и оказались страницы меток, и это неудивительно, ведь на них ведут внутренние ссылки с главной страницы и страницы товаров.
Как вывести описание на странице меток.
Настроенная метка на WordPress блоге должна выглядеть примерно так:
Метка имеет несколько параметров:
- Название, определяющее отображение на сайте.
- Ярлык – вариант названия, входящий в URL страницы.
- Описание – характеристика метки, которую мы будем выводит на странице.
Чтобы вывести информацию из поля “Описание”, нужно в шаблоне WordPress, отвечающим за генерацию (создание) страницы меток (обычно это файл archive.php) найти условие is_tag() и добавить в его положительный исход (после закрывающего тега </h3>) следующий код:
<?php if ( $paged < 2 ) { ?><?php add_filter('tag_description', 'wpautop'); ?><?php add_filter('tag_description', 'wptexturize'); ?><div><?php $description = tag_description();echo $description;?></div><?php } else { ?>/* сюда можно вставить код, который будет выполняться на всех страницах рубрики кроме первой */<?php } ?>
Получится примерно так:
Используя плагин для WordPress Rich Text Tags Plugin, можно добавлять и, соответственно, отображать в описании произвольную html-разметку, изображения и видео.
На сегодня всё. Я ушел проделывать описанные изменения на всех своих сайтах. Будут вопросы – задавайте в комментариях. Удачи!
GD Star Ratingloading...
Оптимизация страниц меток WordPress., 5.0 out of 5 based on 5 ratingsБуду благодарен, если поделитесь этой статьей в социальных сетях:
Метки: Метки, Оптимизация