Фон
Я создаю каталог курсов для школы и пытаюсь создать дружественные, динамические URL-адреса.Он имеет три пользовательских типа сообщений:
- каталог.
- курс.Этот тип сообщения содержит название, номер курса и описание курса.
- раздел.Этот тип записи содержит стоимость, даты и время начала и окончания и т. Д. Раздел является экземпляром курса;например, может быть две секции рисования для начинающих, одна в четверг утром и одна в понедельник вечером, и преподаются двумя разными преподавателями.
Между курсом и курсом существует связь один-ко-многимраздел.При просмотре раздела отображаются название курса, номер курса и описание курса родительского курса.Он также отображает стоимость этого раздела, даты и время начала и окончания и т. Д.
Текущий URL-адрес раздела:
http://website.org/section/section-slug/
Мне бы хотелосьбыть таким:
http://website.org/class/spring-2019/drawing-for-beginners/01/
... где «класс» - это «виртуальная» папка / синтетический префикс ... где «весна-2019» соответствует «каталогу»пользовательский тип сообщения ... где "рисунок для начинающих" соответствует слаг для родительского "курса" пользовательского типа сообщения ... где "01" соответствует разделу курса.
WordPress долженотобразить тип сообщения раздела, соответствующий этим критериям.
Research
Я довольно много читал об API перезаписи и 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
... где "gallery" - статическое имя и показывает пользовательский тип записи галереи.