Вывод облака меток в произвольном месте. Вывод меток wordpress


Вывод всех рубрик и (или) меток в сети WordPress Multisite

Блог  /  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 Формат возвращаемого результата функции:

Фильтры функции

По сути network_get_terms() имеет те же фильтры, что и get_terms(), но только с префиксом network_.

get_terms() network_get_terms()
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 )
$term В этом параметра можно задать локальный ID элемента таксономии, либо его ярлык. Также сюда можно передавать объекты, возвращаемые функцией network_get_terms, в этом случае второй и третий параметр можно будет не указать. $taxonomy Название таксономии $blog_id ID блога, на котором находится данная рубрика/метка/термин.
$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. Сегодня – логическое продолжение: всё тоже самое только со страницами меток. Вы узнаете как выводить на веб-страницах описание меток.

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

Как вывести описание на странице меток.

Настроенная метка на WordPress блоге должна выглядеть примерно так:

описание меток WordPress

Метка имеет несколько параметров:

изменение метки WordPress

Чтобы вывести информацию из поля “Описание”, нужно в шаблоне 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

Используя плагин для WordPress Rich Text Tags Plugin, можно добавлять и, соответственно, отображать в описании произвольную html-разметку, изображения и видео.

На сегодня всё. Я ушел проделывать описанные изменения на всех своих сайтах. Будут вопросы – задавайте в комментариях. Удачи!

GD Star Ratingloading...

Оптимизация страниц меток WordPress., 5.0 out of 5 based on 5 ratings

Буду благодарен, если поделитесь этой статьей в социальных сетях:

Метки: Метки, Оптимизация

delitant.ru


Смотрите также

Prostoy-Site | Все права защищены © 2018 | Карта сайта