Почему у меня используется шаблон index.php вместо page-{slug}.php?
Создал кастомную запись, где post_type = departments
Создал шаблон page-departments.php.
Создал страницу, где url = departments.
До этого делал, вроде бы, все то же самое - работало.
Сейчас не пойму, в чем может быть дело.
UPD 1:
Если делаю эту страницу дочерней для любой другой - все работает.
Если без родителя - не работает.
UPD 2:
Меняю url у страницы на другой и привязываю шаблон - все работает (только ссылка на пост через post_type нового типа записи).
Почему не работает, если post_type = url страницы?
Все будет работать, если поменять у страницы url, но тогда ссылки на записи будут не через url страницы.
Url page = /struktura/
Ссылка на запись будет через /departments/{post_name}/ (нужно, чтобы ссылка на пост проходила через url страницы).
lexstile,
1) рекомендую вам изучить кодекс ВП.
2) как я и говорил раньше сейчас у вас конфликт урлов.
3) если вы хотите, чтобы записи открывались по урлу departments/{post_name}, то создайте кастомный тип записи с названием departments.
+ можете допольнитено добавить rewrite https://wp-kama.ru/function/register_post_type
slug (строка)
Префикс в ЧПУ (/префикс/ярлык_записи). Используйте array( 'slug' => $slug ), чтобы создать другой префикс.
В этом параметре можно указывать плейсхолдеры типа %category%. Но их нужно создать с помощью add_rewrite_tag() и научить WP их понимать.
lexstile, рад помочь)
для archive-cpt используется для вывода всех записей заданного кастомного типа
single-cpt используется для вывода одиночной записи кастомного типа.