Структура таксономии спортивного сайта

Вопрос или проблема

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

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

Пример: мы написали статью о Тони Хоуке (атлете по скейтборду), который выполнил первый в истории трюк 900 (трюк на скейтборде). Мы хотели бы, чтобы эта статья была размещена на странице, названной “Скейтеры” (атлеты по скейтборду), где все скейтеры перечислены в алфавитном порядке, и у Тони Хоука был бы собственный раздел под категорий “скейтборд”, а та же статья была бы размещена на странице, названной “Трюки” с другими 900 и другими трюками на скейтборде. Но статья не может быть размещена, например, под трюками на сноуборде или серфингом.

Таким образом, я создал 3 пользовательских типа записей для каждого вида спорта, и пользовательские теги для каждого вида спорта для атлетов, названий событий, локаций, брендов, фотографов, режиссеров и трюков, что означает, что существуют, например, 3 различных тега для трюков (трюки на скейтборде, трюки на сноуборде и трюки на серфинге).

Однако я понял, что если я продолжу следовать этой системе, мне понадобятся 3 пользовательских типа записей для галерей изображений, 3 пользовательских типа записей для событий и так далее, что сделает админку довольно неудобной для пользователей.

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

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

Итак, мой вопрос таков: какая лучшая структура для моего сайта? Есть ли идеи, которые более удобны для пользователей?

Я думаю, вы несколько неправильно истолковали пользовательские типы записей и пользовательские таксономии.

Теория

Пользовательские типы записей

Я считаю, что цель пользовательского типа записи заключается в том, чтобы быть форматом данных, отличным сам по себе — он описывает тип контента, но не сам контент. Возьмем встроенные типы записей page, post и attachment, например:

  • Тип записи page описывает формат обычной, статической страницы на сайте, которая может быть организована в иерархию с использованием родителей.
  • Тип записи post описывает временной контент, который может быть организован с помощью категорий и тегов, отражающих природу самого контента и, как правило, подчеркивающих общество с комментариями. Записи также публикуются в RSS-лентах для внешнего восприятия посетителями.
  • Тип записи attachment описывает медиафайл, который связан с одним из вышеназванных типов записей.

Не имело бы смысла публиковать контент “О нас” в виде post (хронология когда контент опубликован не имеет значения, и было бы необычно иметь раздел комментариев на таком статичном контенте), и также не имело бы смысла публиковать новостную статью в виде страницы (важно, когда история была опубликована, и было бы полезно использовать таксономии для описания, какой тип истории это). Ни один из этих контентов разумно нельзя было бы опубликовать в виде attachment.

Было бы еще страннее создать уникальный тип записи для каждого статического контента (тип записи “О нас”, тип записи “Свяжитесь с нами”, тип записи “Политика конфиденциальности” и т. д.), так как каждый контент мог бы быть описан в идентичном формате.

Любые данные, относящиеся к пользовательскому типу записи, чаще всего хранятся и доступны через Metadata API, который позволяет прикреплять пользовательскую информацию к записям.

Пользовательские таксономии

Таксономия — это всего лишь метод группировки элементов вместе. На практике вы можете использовать таксономии для организации различных видов контента или для отражения определенных аспектов контента — независимо от того, описан ли этот контент с помощью одного и того же типа записи или разных.

Сайт, перечисляющий телешоу и фильмы, может иметь пользовательский тип записи для обоих (так как эпизодическое телешоу описывается иначе, чем описывается фильм), но записи любого из них могут быть классифицированы с использованием одной и той же таксономии genre (записи или “термины”, которые будут содержать такие вещи, как “научная фантастика”, “ужасы”, “экшн” и т. д.).


Применение

Хоккей, баскетбол и футбол по определению являются видом спорта, и поэтому могут быть описаны в том же формате, что и любой вид спорта (название, набор правил, история и т. д., например). В результате следует, что вам следует создать один пользовательский тип записи sport и создать три отдельных записи типа sport, чтобы представить каждый отдельный спорт.

По той же логике это также справедливо, что один тип записи athlete будет достаточно для охвата участников всех видов спорта, а один тип записи event будет покрывать любое событие для любого спорта, атлета и т. д.

sport можно организовать с помощью таксономии, описывающей тип спорта — например, “спортивное зрелище”, “командный спорт”, “соревновательный спорт”, “аматорский спорт”, “водный спорт”, “профессиональный спорт” и т. д. Однако для вашего применения это ненужно.

События организуются (или группируются) по локации, поэтому имеет смысл иметь таксономию location, которая применяется к типу записи event. Она могла бы быть иерархической по географии (термины штата или провинции имеют городские термины в качестве детей, например) — позволяя вам запрашивать события по городу или региону — или просто плоским уровнем, как тег.

Как события, так и атлеты могут быть организованы в соответствии с их связанным спортом, поэтому имеет смысл, что кроме пользовательского типа записи sport, будет создана таксономия sport (и не применена к пользовательскому типу записи sport). В качестве альтернативы можно использовать Metadata API для ассоциации элементов с соответствующей записью sports CPT.

Однако, исходя из вашего описания, похоже, что вас не интересует описание каких-либо видов спорта на вашем сайте — вам не нужны фактические страницы, детализирующие аспекты спорта независимо от людей, мест и событий, связанных с ним. В результате будет логичнее не иметь типа записи sport вообще, а вместо этого лишь таксономию sport, позволяющую вам группировать athletes и events по соответствующему спорту.

Резюме

Я считаю, что лучший способ организовать ваш контент следующий:

  • Пользовательские таксономии
    • sports
    • locations
  • Пользовательские типы записей
    • athlete — использует таксономию sport
    • event — использует таксономии sport и location

Запрос с следующими аргументами возвращает архивную страницу, содержащую всех атлетов, участвующих в футболе:

$args[ 'post_type' ] = 'athlete';
$args[ 'tax_query' ] = array(
  'taxonomy' => 'sport',
  'terms'    => 'football'
);

Этот запрос всегда доступен по URL

/?post_type=athlete&taxonomy=sport&terms=football

Как это трансформируется в красивый постоянный линк, зависит от ваших настроек постоянных ссылок и выбранных вами слагов.

Киберспорт действительно показывает, насколько конкурентным и skillful стал гейминг. Так здорово смотреть, как профессионалы играют на таком уровне eroneous

Ответ или решение

Таксономическая структура спортивного сайта

Введение

С учетом потребностей вашего спортивного новостного сайта, который охватывает три связанных вида спорта — скейтбординг, сноубординг и серфинг — важно правильно организовать контент, чтобы упростить администрирование и улучшить UX (пользовательский опыт"). Данный документ описывает оптимальную таксономическую и структурную схему, которая обеспечит легкий доступ к данным, таким как атлеты, события, места, бренды, фотографы, операторы и трюки, сгруппированным рядом с соответствующими статьями.

Структурирование контента

1. Пост-тип (Custom Post Type)

Для вашего сайта лучше всего использовать следующие типы записей:

  • Athlete (Атлет): Этот пост-тип будет представлять спортсменов всех трех видов спорта. Особенность данного подхода в том, что атлеты могут быть легко классифицированы по таксономии спорта.

  • Event (Событие): Этот пост-тип будет содержать информацию о мероприятиях, связанных с олимпийскими дисциплинами, и также может включать все виды спорта.

  • Media (Медиа): Это может быть специальный пост-тип для изображений и видео, который упростит управление контентом.

2. Таксономии (Custom Taxonomies)

Создание таксономий поможет облегчить навигацию и группировку контента. Вы можете использовать следующие таксономии:

  • Sport (Спорт): Пользовательская таксономия, включающая термины "Скейтбординг", "Сноубординг", "Серфинг". Это позволит фильтровать атлетов и события по виду спорта.

  • Location (Место): Эта таксономия может быть иерархичной (например, страны, города) или плоской и будет служить для организации событий по их местоположению.

  • Trick (Трюк): Пользовательская таксономия для трюков, связанная с каждым видом спорта. Так как в каждом спорте есть свои уникальные трюки, вы можете создать разные термины для каждого из видов спорта.

3. Пример структуры

Ваша структура контента может выглядеть следующим образом:

  • Пост-Типы:

    • Athlete
    • Event
    • Media
  • Таксономии:

    • Sport
    • Скейтбординг
    • Сноубординг
    • Серфинг
    • Location
    • Страна
      • Город
    • Trick
    • Скейтбординг
      • 900
      • Ollie
    • Сноубординг
      • Backflip
    • Серфинг
      • Cutback

Примеры использование

Сцена

Предположим, у вас есть статья о Тони Хоуке, который выполнил первый 900.

  • Атрибуты:
    • Пост-тип: Athlete (Тони Хоук)
    • Таксономия Sport: Скейтбординг
    • Таксономия Trick: 900

Страницы и ссылки

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

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

Заключение

Объединение пост-типов и таксономий таким образом обеспечит вам возможность эффективно управлять контентом спортивного сайта, предоставляя при этом удобный опыт для пользователей. Описанная структура не только упрощает добавление, редактирование и удаление контента, но и значительно улучшает SEO-оптимизацию вашего ресурса. Вы сможете легко создавать страницы, фильтры и взаимодействия между различными элементами, что обеспечит максимальную гибкость в организации информации.

Оцените материал
Добавить комментарий

Капча загружается...