Произвольные типы записей
-
Здравствуйте.
Вчера пытался решить вопрос расширения функционала за счет произвольного типа записи, но к сожалению ничего не вышло и поэтому решил откатиться немного назад и спросить совета о оптимальном методе создания произвольного типа записи.
Хочу добавить произвольный тип записи «События» и две иерархические таксономии «Календари» и «Города». Соответственно если «переводить в файлы» получается:
- events.php — вывод всех созданных событий
- singke-events.php — вывод одного события
- taxonomy-calendars.php — вывод таксономии календари (дочерние элементы, пример: Марафоны 2019 → Забеги в феврале и т.д.)
- taxonomy-cities.php — вывод таксономии города (дочерних элементов нет)
*Ещё файл custom-type-events, но его я создал для удобства и что бы не городить огород в funtions.php.
Если все эти файлы оставлять в корне темы, все работает выводятся все события, одно событие, страницы с таксономиями. Но при попытке сгруппировать для удобства эти файлы в отдельную папку (/calendar/) сразу же появились проблемы, которые частично и не смог справиться с одним моментом.
После перемещения всех файлов из корня темы в папку /calendar/, в functions.php создал функцию подключения шаблонов страниц через template_include:
add_filter('template_include', 'my_template'); function my_template($template) { #Подключение events.php if (is_page('events')) { if ($new_template = locate_template(array('/calendar/events.php'))) return $new_template; } #Подключение event.php global $post; if( $post->post_type == 'events' ){ return get_stylesheet_directory() . '/book-tpl.php'; } #Подключение taxonomy-cities.php if (is_tax('cities')) { return get_template_directory() . '/calendar/taxonomy-cities.php'; } #Подключение taxonomy-calendars.php if (is_tax('calendars')) { return get_template_directory() . '/calendar/taxonomy-calendars.php'; } return $template; }
Вывод списка событий и конкретного события, как я и говорил — работаю. Но при попытке перейти по таксономии «города или календари», подгружается шаблон single-events.php (смотрел по query monitor, это шаблон для вывода конретного события).
Подскажите что я делаю не так? Или при создание произвольного типа записи + таксономий к нему обязательно нужно оставлять файлы в корне темы? Ну тогда если я заочу ввести несколько типов записи, получиться же каша 🙁
Прикрепил ссылку на сайт, в меню ссылка как раз на события. Второй день бьюсь не могу реализовать вывод таксономий в шаблон
Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]
- Тема «Произвольные типы записей» закрыта для новых ответов.