Поддержка Проблемы и решения Вывод в меню категорий, отфильтрованных по тегам

  • Доброго времени суток!

    В принципе задача простая, но стандартных механизмов не реализовано.

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

    Данная картинка отображает суть моей задачи.

    • Тема изменена 4 года, 1 месяц назад пользователем ecoatoms.
Просмотр 8 ответов — с 1 по 8 (всего 8)
  • добавить еще одну таксономию — пол
    и сформировать нужный урл

    Вывод в меню категорий, отфильтрованных по тегам

    https://wordpress.org/support/topic/get-tags-specific-to-category/#post-1096020

    Вот это интересно, спасибо!

    Правильно я понимаю? Мне нужно создать на основе данных по ссылке функцию вывода категорий, отфильтрованных по данной таксоновмии, которую я смогу в дальнейшем вызывать, примерно:
    <?= get_category($catId, $taxId) ?>
    в виджетах max_mega_menu или другими способами.

    Или всё таки есть более простое решение, которое даст возможность настроить меню в админке wp?

    Хотелось бы так, я просто указываю в меню иерархию:
    Для мальчиков
    — Деревянные игрушки
    Для девочек
    — Деревянные игрушки

    Далее в function.php вызываю крюк получения соответствующего меню и на этапе вывода дочерних пунктов делаю проверку родительских пунктов типа таксономий. Если таксономия имеет значение Для мальчиков и в пункте выбрано то же значение данной таксономии, вывести пункт.

    Вроде проще быть не может. Но я не видел крюк, который дал бы возможность по каждому пункту проходить.

    Модератор Юрий

    (@yube)

    В принципе задача простая, но стандартных механизмов не реализовано.

    Почему же? Реализовано. /category/toys/?tag=boys выведет записи из рубрики «игрушки» с меткой «мальчики». Вот живой пример такой ссылки http://blog.portal.kharkov.ua/software/?tag=php54

    Процесс генерации таких ссылок можно автоматизировать. В Сети имеется стопиццот статей на тему «получить метки записей из рубрики». Правда, не все полезные 🙂

    В моём случае нужно чтобы если нет ни одного ресурса в категории, чтобы категория не выводилась.

    То есть, если есть структура меню:
    Для мальчиков
    — Деревянные игрушки
    Для девочек
    — Деревянные игрушки

    А деревянных игрушек нет с пометкой Для девочек, то пункт Деревянные игрушки должен отсутствовать в меню Для девочек.

    В моём случае нужно чтобы если нет ни одного ресурса в категории, чтобы категория не выводилась.

    По той ссылке, что выше я скидывал, как раз так и ест, выводятся только если есть записи.

    Так никто и не подсказал, как влезть в пункты меню, сформированные из админки и на основе подсказки qwert555 отфильтровать ненужные, но я всё же разобрался. Всем спасибо! Оказывается фильтр wp_get_nav_menu_items выводит все пункты подряд, при этом иерархия у них выстраивается на основе параметра menu_item_parent. Остаётся задействовать фильтрацию)

    • Ответ изменён 4 года, 1 месяц назад пользователем ecoatoms.
Просмотр 8 ответов — с 1 по 8 (всего 8)
  • Тема «Вывод в меню категорий, отфильтрованных по тегам» закрыта для новых ответов.