Задать вопрос
like-a-boss
@like-a-boss
Признайся,тебяТянетНаКодМужика,ты—программный гей

WordPress. Как вывести посты, принадлежащие 2-ум разным таксономиям?

Уважаемые знатоки, есть кастомный тип постов, представляет из себя текст песни, принадлежащий двум кастомным таксономиям Artist и Album.

Задача состоит в том, чтобы вывести на странице taxonomy-artist.php все посты (в виде ссылок разумеется), принадлежащие Artist и разложенные по Album.

Иными словами, на странице должны быть название Альбома и принадлежащие ему посты текстов песен:

Artist Такой-то

Album 1:
- Текст песни 1
- Текст песни 2
..
- Текст песни 10

...

Album 10:
- Текст песни 1
- Текст песни 2
..
- Текст песни 10

Не нашёл подходящей функции. Как реализовать?
  • Вопрос задан
  • 2942 просмотра
Подписаться 5 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
@ankaid
Я бы заюзал плагин "Posts2Posts" или "Advanced Custom Fields" (зависит от уровня нужной гибкости).
Сделал бы 3 типа данных:
- песня (или текст песни - как вам лучше представляется)
- альбом
- артист

Соединил бы эти 3 типа данных нужными связи (опять же от уровня гибкости зависит).
А дальше в шаблоне single-artist.php
- запрашиваем все альбомы артиста
- бежим по ним циклом
- в котором запрашиваем для каждого альбома все привязанные тексты
- бежим циклом по полученным текстам и выводим ссылки на них

Таксономии в WP получаются такие негибкие для задач подобных вашей... Единственный минус в моём варианте это возможно меньшая производительность всех этих запросов и циклов. Зато прозрачная структура.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
встроенными методами это можно сделать, но некрасиво и несколькими запросами. Лучше это реализовать сразу на mysql через wpdb
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽