- Как вывести все категории или все метки (а также другие таксономии) из сети WordPress Multisite одним циклом
- network_get_terms()
- Параметры функции
- Фильтры функции
- Пример 1. Выводим метки со всех блогов WP Multisite
- Пример 2. Выводим все рубрики с блогов сети WordPress Multisite со ссылками
- the_tags() WP 2.3.0
- Возвращает
- Использование
- Примеры
- #1. Ссылки на метки поста
- #2. Изменим начальный текст и разделитель между метками:
- #3. Выведем метки в списке :
- Список изменений
- Код the_tags() the tags WP 5.8.1
- Cвязанные функции
- loop (Цикл WP)
- Для записей
- Записи: посты, страницы, .
- wp_get_post_tags() WP 2.3
- Возвращает
- Использование
- Примеры
- #1. Получим метки текущего поста
- #2. Получим список ID меток текущего поста
- Список изменений
- Код wp_get_post_tags() wp get post tags WP 5.8.1
- Cвязанные функции
- Для записей
- Метки WordPress, как с ними работать
- Вступление
- Что такое метки WordPress
- Создание меток WordPress
- Управление метками WordPress
- Таксономия по меткам
- Как спрятать метки от поисковиков
- Закрыть метки от ботов
- Как удалить неиспользуемые метки
- Способ 1: Удалить неиспользуемые метки из панели администрирования
- Способ 2: Удалить неиспользуемые метки из базы данных
- Способ 3: Использовать плагин очистки (оптимизации) сайта
- Массовое добавление меток WordPress
Как вывести все категории или все метки (а также другие таксономии) из сети WordPress Multisite одним циклом
network_get_terms()
Так как плагин стал пользоваться популярностью (хотя в рунете на данный момент не заинтересовал почти никого), я решил начать его дорабатывать, и первая из доработок, которую я сделал, это аналог функции get_terms() в WordPress — network_get_terms() .
Самое главное отличие этих функций в том, что get_terms() возвращает рубрики/метки/термины с текущего блога, а network_get_terms() — со всех блогов сети в одном цикле.
Параметры функции
Хотел бы я написать, что все параметры идентичны параметрам функции get_terms(), но к сожалению это не совсем так, поэтому придется остановиться на них подробнее.
$network_taxonomies Укажите нужные вам таксономии. Этот параметр также поддерживает возможность указать массив array(‘post_tag’, ‘category’) . $network_args number Стандартно — указываем число — количество элементов, которое нужно получить. offset Число — количество элементов, которые нужно пропустить от начала. Например если указать 2 , то функция начнет получать элементы начиная с 3-го по порядку. Работает только если указан параметр number . include, exclude Укажите в этих параметрах значения локальных ID одного или нескольких элементов (через массив), которые вы хотите включить, исключить (соответственно) из вывода.
Если одновременно указаны оба параметра, то учитывается только 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() | 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
Как вы наверное заметили, в этом примере не хватает одной важной вещи — то есть у нас есть названия меток, есть их ID, но нет самого важного, ссылок.
На самом деле этот момент я тоже предусмотрел и сделал функцию network_get_term_link() , которая является аналогом стандартной вордпрессовской get_term_link().
Пример 2. Выводим все рубрики с блогов сети WordPress Multisite со ссылками
Представляю вам функцию network_get_term_link() , которая по сути является аналогом get_term_link(), но работает в сети WordPress Multisite.
Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.
Если вам нужна помощь с сайтом или разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда будем рады вам помочь!
Источник
the_tags() WP 2.3.0
Выводит ссылки на метки, которые относятся к посту.
Нужно использовать внутри Цикла WordPress.
Возвращает
null . Выводит HTML код на экран.
Использование
Примеры
#1. Ссылки на метки поста
Выведем, через запятую, ссылки на метки, которые есть у поста. Перед ссылками будет текст по умолчанию «Метки: «:
#2. Изменим начальный текст и разделитель между метками:
#3. Выведем метки в списке :
Список изменений
Код the_tags() the tags WP 5.8.1
Cвязанные функции
loop (Цикл WP)
Для записей
Записи: посты, страницы, .
Здравствуйте, а как можно сделать так, чтобы слово «Метки» в первом » не размещалось, а то оно по умолчанию стоит? Спасибо.
Просто нужно поставить две одинарные кавычки, вот так the_tags(»). В статье есть переменная $before — она за это и отвечает.
Необходимо, в теле читаемого поста, вывести заголовки двух других постов — связанных с читаемым — метками.
Есть варианты ?
Привет. Как то делал урок про шорткоды и там подобный пример был.
Спасибо Юрию Белотицкому (blog.portal.kharkov.ua) за помощь.
Вот код, если кому будет нужен:
Добрый день, подскажите пожалуйста, можно ли вывести метку обычным текстом, не ссылой? Или же данным тэгом только ссылка выводится?
Подскажите пожалуйста как сделать вывод тегов (метки) термы произвольного типа записи?
, где ‘services’ — таксономия в виде категорий
, где ‘mylabel’ — таксономия в виде тегов (метки)
, где ‘uslugi’ — созданный тип записи.
Создал новый тип записи, затем файл таксономии (taxonomy-services.php) в котором выводится списком (тут весь код с описанием и вопросом) все наименования относящиеся к конкретной терме.
Однако, если сделать файл таксономии в виде taxonomy-mylabel.php, то при переходе на любую созданную терму содержащейся в ‘mylabel’ (как тег(метки)) выводит все записи относящиеся к конкретной терме (при коде в этом файле равнозначном для архивной страницы).
Вообщем бьюсь уже давно и ни как не получается сделать вывод с учётом тегов (метки) этой термы.
Источник
wp_get_post_tags() WP 2.3
Получает список меток указанного поста в виде массива.
Возвращает
- array( WP_Term, WP_Term ) — массив объектов WP_Term
- array() — пустой массив если меток не найдено.
- WP_Error — object WP_Error если таксономия post_tag не существует.
Использование
Переписывает аргументы по умолчанию. Весь список аргументов смотрите в описании функции wp_get_object_terms().
По умолчанию в $args устанавливается параметр fields=all (получить все поля термина). Другие значения этого аргумента: names (получать только названия терминов) и ids (только ID терминов ).
По умолчанию: array()
Примеры
#1. Получим метки текущего поста
Допустим пост имеет следующие метки: tag2, tag5 и tag6 :
#2. Получим список ID меток текущего поста
В списке будут только ID меток (поле ids):
Список изменений
Код wp_get_post_tags() wp get post tags WP 5.8.1
Cвязанные функции
Для записей
Здравствуйте, вопрос уже по сути в теме, но всё же напишу подробней.
Как вывести все имена меток записи известно, а как вывести имя, допустим, метки, которая идёт первой к записи, порядку они какому-то подчиняются?
Суть в чём?
Этот код выводит похожие записи для метки, которая прописана для записи первой:
Этот код отличающийся одним символом (вместо 0 — 1) выводит похожие записи для второй метки:
Так вот можно вывести имена самих меток по отдельности, сначала первой, потом второй в шаблоне?
Чтобы это выглядело так:
Похожие записи с меткой [1]
перечисление записей
Похожие записи с меткой [2]
перечисление записей
Вроде, проблема то не проблема, но гуглить уже устал, как имена категорий отдельно вывести все знают, а имена меток — нет. Может я просто не знаю что искать. Заранее благодарен.
Источник
Метки WordPress, как с ними работать
Вступление
Давайте разберемся, зачем нужны метки WordPress, как с ними работать, нужно ли метки WordPress индексировать и сколько меток нужно для продвижения сайта. Статья дополнена 08-11-2019, способами массового добавления меток.
Что такое метки WordPress
Метками WordPress, могут выступать ключевые слова статьи с плотностью от 1 до 5% или/и слова выбранные администратором, для навигационной и поисковой связи статьи с другими статьями сайта.
Создание меток WordPress
Создаются метки для каждой статьи, на странице редактора. Для создания меток при написании/редактировании статьи в отдельной форме «Метки» нужно ввести метки статьи, через запятую.
Если по каким, либо причинам вы не видите форму Метки на странице редактирования, вверху страницы есть кнопка «Настройки экрана» с выезжающем меню, в нём отметьте чекбокс «Метки».
Управление метками WordPress
Управление метками сайта осуществляется на странице Записи→Метки. Метки можно удалять, добавлять, давать меткам описание.
Таксономия по меткам
Функции WordPress позволяют выводить метки к постам в нужном месте, чаще внизу или вверху поста в виде перечисления через запятую. Функция WordPress обеспечивающая вывод меток статьи (поста), [wp_get_post_tags]. Использование функции:
Как спрятать метки от поисковиков
Может показаться странным, название этого радела. Зачем прятать метки от поисковиков? Ответить на этот вопрос однозначно не получается. Попробую пояснить. Для начала посмотрим, в каком виде метки попадают в поисковую выдачу. В выдачу метка попадает вместе с анонсом статьи.
Обычно шаблоны сверстаны так, что анонс статьи это часть текста до тега или первые 55 слов статьи. Может быть, что анонс берётся из цитата, если вы ее активировали и вводите в редакторе при публикации статьи (внизу окна редактора). Для каждой метки система будет формировать архив меток, пополняя его новыми постами.
Предположим, у вас в статье 10 меток. Получаем, в выдаче появиться 10 одинаковых цитат этой статьи в 10 разных архивах меток. И хоть они под разными URL, получим 10 дублей по контенту в выдаче, они совсем не нужны. Поэтому, некоторые веб-мастера рекомендуют «прятать» от поисковиков метки WordPress. Я метки не закрываю, а переделываю шаблон, чтобы на главную страницу брался анонс, а в архивы рубрики тегов бралась цитата. Об этом тут.
Закрыть метки от ботов
1. Закрыть метки можно двумя способами. Проще всего в файле robots.txt, который, должен быть в корне вашего сайта. В файле robots.txt вписывается директива запрещающая (Dissalow) поисковикам сканировать страницы с tag в URL:
2. Второй вариант, использовать плагин SEO оптимизации, который в своём функционале будет иметь инструмент закрытия тегов от поисковиков. Я использую, seo плагин Yoast SEO ( https://ru.wordpress.org/plugins/wordpress-seo/ ) в котором одной кнопкой закроете от поисковиков, всё что нужно.
Что мы этим достигнем? Уменьшим дубли частей статей, в выдаче, одновременно снизив количество страниц в поиске и как следствие, количество посетителей сайта. Не радующий результат.
Теперь, прикинем, что грозит, если оставить метки в поиске. Если у вас 100 статей, у каждой статьи в среднем 5 меток, то это 500 страниц в поиске. Не слабо! А как же дубли частей статей? За дубли, возможны штрафные санкции Яндекс. И какова же вероятность штрафа, как и всё у Яндекс не предсказуемо, может, будут, может, нет.
К чему я это? Да в том, то и дело, что вам самим придется принимать решение закрывать метки от поисковиков или нет. Приведу пример. Я на одном сайте закрыл метки от поиска. Через три дня посетителей на сайте снизилось на 1000-1200 единиц, что составило 30-40 %. Совсем не хорошо. Тем более что никакими санкциями от поисковиков даже не «пахло». Поэтому, я почистил неиспользуемые теги, добавил к некоторым статьям цитаты, чтобы снизить дублирование, добавил к меткам уникальные описания и открыл метки для поисковиков. Через пару недель всё восстановилось.
Как удалить неиспользуемые метки
В предыдущем абзаце я упомянул о чистке меток и удалении неиспользуемых меток. Расскажу, как это делать.
Способ 1: Удалить неиспользуемые метки из панели администрирования
В консоли сайта откройте вкладку Внешний вид →Метки .
В таблице с метками, вы видите столбец «Прикрепленные записи». Так вот, в таблице не должно быть меток со значением ноль «0» в этом столбце. Отмечаете не прикрепленные метки и удаляете их (Действие→ Удалить →Применить).
Способ 2: Удалить неиспользуемые метки из базы данных
Чтобы посмотреть в базе данных WordPress неиспользуемые метки , то есть метки, не прикрепленные ни к одной статье, нужно в phpMyAdmin сделать следующий SQL запрос:
[wp_] замените на префикс вашей базы данных.
На скриншотах ниже, вы можете видеть результаты этого SQL запроса до и после того как метки WordPress были очищены.
Способ 3: Использовать плагин очистки (оптимизации) сайта
Для удобства работы установите плагин чистки сайта, их часто называют плагины технической оптимизации. С их помощью можно провести комплексную очистку сайта, в том числе неиспользуемые метки. Я использую плагин: Optimize Database after Deleting Revisions ( https://ru.wordpress.org/plugins/rvg-optimize-database/ ), очень рекомендую.
Массовое добавление меток WordPress
Плагины для массового добавления меток устаревают и на сегодня (08-11-2019), я не знаю подобных плагинов проверенных автором на версии 5.2.4. Для информации это плагины:
- Bulk Term Generator;
- Quick Bulk Term Taxonomy Creator;
- BulkPress.
Я массово добавляю теги по простому:
- Составляю список меток в блокноте или в любом редакторе, перечисляю метки их через запятую. В списке могут быть сотни меток;
- Создаю пустую, но с заголовком статью. Временно её публикую;
- В списке постов, на ссылке «Свойства» под названием созданной статье, вставляют составленный список меток;
- Сохраняю сделанные изменения свойств;
- Удаляю временный пост;
- Все метки остаются в списке меток. Описания делаются отдельно.
Источник