Как в WordPress лучше разделить на типы постов, поля и таксономии?
Здравствуйте.
Стоит задача - сделать сайт с базой знаний.
Условие - наличие поиска по тексту (с возможностью неточных соответствий) и зависимые фильтры для поиска (т.е. типы постов, таксономии, поля).
Сущности такие:
- Вид документа (инструкции, чек-листы, видео и пр.)
- Отдел
- Вид деятельности
- Тип операции.
У каждого Отдела есть все Виды документов; разные Виды деятельности и Типы операций могут совпадать у разных отделов.
Пока остановился на Advanced Custom Fields + FacetWP + SearchWP + Elementor.
Вопросы:
1. подходящий ли комплект для реализации проекта? Может, стоит взять что-то другое?
2. Как лучше разделить на типы постов, поля и таксономии?
Дополнительно:
Здравствуйте! Многое зависит от ваших личных умений.
1. Перед определением сущностей стоит понять, что от каждой из них вы хотите и какой функционал они будут выполнять. Из этого и будет строиться архитектура: тип записи, таксономии (рубрики, метки).
2. Повторюсь, все зависит от ваших умений. Для кастомных полей ACF является хорошим выбором, но я также использую и CF. Плагины по типу Elementor не понимаю и отношусь к ним скорее негативно.
Не претендую на истину в последней инстанции. Осуществляйте выбор исходя из рациональных соображений и ваших задач.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для базы знаний я бы не делал отдельный post type под каждый вид документа. Обычно достаточно одного кастомного типа записи, например
knowledge, и нескольких таксономий для фильтров. Так поиск, шаблоны, права и импорт будут проще.Рациональная структура:
knowledge— один тип записи для материала базы знаний;document_type— таксономия: инструкция, чек-лист, видео, регламент;department— таксономия: отдел;activity_type— таксономия: вид деятельности;operation_type— таксономия: тип операции;Если по сущности нужно фильтровать, строить архив, выводить список и переиспользовать значение в разных записях, это почти всегда таксономия. Если значение уникально для конкретной записи и не нужно как фильтр, это поле.
Связка ACF + FacetWP + SearchWP рабочая. SearchWP закрывает нормальный текстовый поиск, FacetWP — зависимые фильтры, ACF — дополнительные поля. Elementor можно оставить для шаблонов, но критичную структуру данных лучше не завязывать на конструктор.
Важный момент: зависимость «у отдела есть свои виды деятельности и операции» не всегда удобно хранить голыми таксономиями. Если зависимость строгая, может понадобиться ACF Relationship, отдельная таблица связей или кастомная логика фильтрации терминов. Но начинать всё равно лучше с одного post type и таксономий, а усложнять только когда появится реальное ограничение.