Фон
Я создаю каталог курсов для школы и пытаюсь создать удобные динамические URL-адреса. Он имеет три настраиваемых типа сообщений:
- каталог.
- курс. Этот тип сообщения содержит заголовок, номер курса и описание курса.
- раздел. Этот тип сообщения содержит стоимость, дату и время начала и окончания и т. Д. Раздел - это экземпляр курса; например, может быть два раздела «Рисование для начинающих», один в четверг утром и один в понедельник вечером, и преподаются двумя разными преподавателями.
Между курсом и разделом существует связь "один ко многим". При просмотре раздела отображается название родительского курса, номер курса и описание курса. Он также отображает стоимость этого раздела, даты и время начала и окончания и т. Д.
Текущий URL-адрес для раздела следующий:
http://website.org/section/section-slug/
Я бы хотел, чтобы это было так:
http://website.org/class/spring-2019/drawing-for-beginners/01/
... где "класс" - это "виртуальная" папка / синтетический префикс ... где "весна-2019" соответствует настраиваемому типу публикации "каталог" ... где "рисунок для начинающих" соответствует ярлыку для пользовательский тип сообщения родительского "курса" ... где "01" соответствует разделу курса.
WordPress должен отображать тип сообщения раздела, соответствующий этим критериям.
Исследование
Я довольно много читал о Rewrite API и Endpoints API. Лучшая статья, которую я смог найти по теме, наиболее близкой к тому, что я пытаюсь достичь, - это эта а>. К сожалению, пример кода на странице у меня не сработал, что привело к «ошибке слишком большого количества перенаправлений». При желании я могу предоставить более подробную информацию о том, какая именно часть не сработала. Я также прочитал эту статью о создании плагинов для WordPress но он не охватывает динамический поиск.
Чего я пытаюсь достичь
http://website.org/class/spring-2019/drawing-for-beginners/01/
Когда виртуальный URL-адрес предоставляется WordPress, мне нужно, чтобы система выполнила запрос для поиска раздела с номером «01», который принадлежит каталогу «весна-2019» и чей родительский курс имеет ярлык «рисунок- для начинающих." Этот запрос не является проблемой, это все хуки, которые необходимо вызвать для выполнения этого кода и возврата правильного шаблона (для страницы раздела). Я не уверен, нужно ли мне создавать конечную точку или мне просто удастся добавить правила перезаписи.
Может кто-нибудь дать совет?
--
В качестве «бонуса» я тоже пытаюсь добиться этого:
http://website.org/class/spring-2019/drawing-for-beginners/01/faculty_name
... где "faculty_name" является динамическим и является именем человека, преподающего этот раздел (и соответствует настраиваемому типу сообщения "faculty").
http://website.org/class/spring-2019/drawing-for-beginners/01/gallery
... где "галерея" - статическое имя, показывающее настраиваемый тип сообщения галереи.