Поддержка Проблемы и решения Как вывести все теги одной группы

  • Хочу организовать специфический поиск на сайте. Есть такая запись:

    <?php if($theme_review_tag_2 == "0") { echo(get_the_term_list($post->ID, 'genre', '<li><strong>'.$theme_review_tag_2_singular_name.':</strong> ', ', ', '</li>')); } ?>

    Функция get_the_term_list выводит мне список всех тегов, связанных с группой «genre» и для поста, айди которого ловит $post->ID.

    Но мне нужно вывести все теги, которые связаны с группой «genre» для всех постов, а не для одного конкретного. Функцию использую не в цикле.

    Что прописать вместо «$post->ID» чтобы был вывод тегов для всех записей связанных с этой группой?

Просмотр 10 ответов — с 1 по 10 (всего 10)
  • а что такое группа? таксономия с иерархией, как category?
    примеры для category
    коротко
    коротко 2
    подробно
    плагин TDO Tag Fixes

    Да, возможно под группой я понимаю таксономию с иерархией, не силён в терминах. Принцип — у записи есть категории тегов, каждая категория содержит свои теги. При использовании функции get_the_term_list отображается одна из категорий записи и все теги этой категории к определённой записи.

    С ссылками не разобрался, не понимаю как примеры из них адаптировать конкретно к моей ситуации. Как я понял те примеры касаются вывода таких тегов из групп. Но у меня это уже реализовано на сайте, мне лишь нужно сделать вывод этих групп тегов не к одному посту, а ко всем сразу.

    а что если в get_the_term_list вместо $post->ID передать ‘0’ или », вы не пробовали такой способ?

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

    тогда я похоже не пойму задачу..

    чтобы был вывод тегов для всех записей связанных с этой группой

    — имеется ввиду всех общих для всех записей тегов из группы «genre»? или просто нужно вывести все теги, которые есть в группе «genre»?

    Просто вывести все теги, которые есть в группе «genre».

    Просто вывести все теги, которые есть в группе «genre».

    http://codex.wordpress.org/Function_Reference/get_terms
    http://codex.wordpress.org/Function_Reference/get_categories
    http://codex.wordpress.org/Function_Reference/wp_tag_cloud

    Категорий тегов, групп тегов не бывает.
    Бывают теги и категории. Теги не имеют иерархии (родительских / дочерних), категории имеют. Пользовательские таксономии (custom taxonomies) создаются по образцу тегов или категорий.
    Зайдите в консоли в меню Записи и посмотрите в подменю там, где рубрики, метки, если есть жанры — это таксономия.
    Если она по образцу категории — при создании жанра есть поле Родительская.

    ps примеры отвечали на вопрос

    вывод тегов для всех записей связанных с этой группой?

    а имелась ввиду category.

    Про категории всё понял.

    Зайдите в консоли в меню Записи и посмотрите в подменю там, где рубрики, метки, если есть жанры — это таксономия.

    Там жанров нет, в админке особая структура. Создан отдельный раздел типов записей, а в нём уже все эти теги.

    Вопрос остаётся открытым. Я воспользовался вашей ссылкой
    http://codex.wordpress.org/Function_Reference/get_terms
    там попробовал код List all the terms, with link to term archive, separated by an interpunct, он выводит список всех тегов, которые мне нужны, только одна проблема — с неправильным урлом, получаю урлы вида домен.ком/term-base/slug_of_tag. А вместо term-base должен автоматически подставляться текущий алиас категории тегов. Как это сделать?

    для этого примера
    $term_list .= '<a href="' . get_term_link($term->slug, 'genre') . '" title="' . sprintf(__('View all posts filed under %s'), $term->name) . '">' . $term->name . '</a>';
    вариант попроще
    http://codex.wordpress.org/Function_Reference/get_term_link#Examples
    а еще, для справки, это можно через wp_list_categories(); выводить.
    Даже genre не надо вставлять
    http://codex.wordpress.org/Template_Tags/wp_list_categories#Display_Terms_in_a_custom_taxonomy

    итого: как минимум, 4 способа, а вы говорите категории тегов…
    впрочем, term_group есть…

    Отлично! Всё работает как часы. Спасибо 🙂

Просмотр 10 ответов — с 1 по 10 (всего 10)
  • Тема «Как вывести все теги одной группы» закрыта для новых ответов.