Задать вопрос

Как правильно отобразить страницу в Wordpress?

Пытаюсь научиться работать с wp. Опыт в программирвании мал, подскажите как правильно реализовать мою идею. Я зарегистрировал новый тип записи - my_trans - register_post_type('my_trans, $args); (нужно ли создавать правило 'rewrite'=> array('slug'=>'my_trans', 'with_front'=>true, 'hierarchical'=>true)?. И зарегистрировал для неё таксономию - register_taxonomy('my_category', 'my_trans', $args); - my_category, с именем родительской таксономии Мой транспорт и добавил для неё потомков - легковые автомобили, грузовые автомобили, мотоциклы, самолеты, параходы и т.д. и к каждой категории добавил страницы - например для легковых автомобилей - это мерседес, бмв, ауди. т.е. указал в таксономии - мой транспорт и его потомка легковые автомобили. После этого добавил шаблон
add_filter( 'single_template', 'my_auto_template_function', 20);

functionmy_auto_template_function'() {
	if ( get_post_type() == 'my_trans' ) {
		if ( is_single() ) {
			// checks if the file exists in the theme first,
			// otherwise serve the file from the plugin
			if ( $theme_file = locate_template( array ( 'single-my_trans.php' ) ) ) {
				$template_path = $theme_file;
				} 
			}
		}
	return $template_path;
}

Где описал нужную структуру страницы. И вот тут возникла загвоздка (моё недопонимание) с именованием страниц и как правильно разрулить это.
Я сделал менюшку - Мой транспорт и соответственно подменю из его потомков
Т.е. Мой транспорт - Легковые авто; - адрес страницы - www.example.com/my_category/legkovie
Грузовые авто; - адрес страницы - www.example.com/my_category/gruzovie
Мотоциклы; - адрес страницы - www.example.com/my_category/motocikli
Самолеты; - адрес страницы - www.example.com/my_category/samolety
Пароходы; - адрес страницы - www.example.com/my_category/parohodi

т.е. тут идёт страницы формируется по её таксономии. И когда я захожу например на страницу www.example.com/my_categorу/legkovie - то у меня соответственно открывается страница на которой список всех автомобилей (бмв, мерседес, ауди).
И так суть проблемы, если я захожу на страницу www.example.com/my_category/my_trans/ - у меня все и легковые и грузовые, и самолеты, и мотоциклы, и пароходы выводятся вместе. Возможно ли как то на этой странице выводить названия дочерних таксономий - т.е. легковые авто, грузовые авто, мотоциклы, пароходы, самолеты. И где правильно это настроить - в шаблоне делать проверку или где-то ещё?
  • Вопрос задан
  • 194 просмотра
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
Kozack
@Kozack Куратор тега WordPress
Thinking about a11y
Почитайте это - 3 способа создать шаблон страницы
Там же есть схема как ВП ищет файл шаблона.
На пример, если для термина Легковые авто вы хотите сделать индивидуальную страницу шаблона, вы можете создать файл taxonomy-my_category-legkovie.php.

В вашем случае, если я всё правильно понял, вам нужно создать файл taxonomy-my_category-my_trans.php в котором выполнить проверку на наличие дочерних терминов, и если такие есть - вывести их.
Ответ написан
Комментировать
Nivalis
@Nivalis Автор вопроса
Не совсем так, дело в том что у дочерних таксономий нужен одинаковый шаблон, а вот именно для родительской таксономии нужен другой шаблон36cff884f1bc454ea48db9822507c26d.png
Слева картинка - как я хочу чтобы выглядела страница с родительской таксономией, а на средней картинке - как выглядит сейчас. Но ваш способ предполагает создание шаблона для каждой дочерней таксономии, а мне бы хотелось чтобы для родительской категории был свой шаблон. Или это уже внутри шаблона нужно разруливать, типа если parent из wp_get_post_term = 0 (т.е. это мой транспорт),то одна разметка, иначе другая.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы