Назначаем шаблон страницы в зависимости от родителя

В интернете увидел вопрос:

Как установить шаблон страницы в зависимости от её родителя

Решение написал достаточно быстро.

Буду рад, если вам пригодится 🙂

Нижеуказанное добавляем в файл functions.php

function update_page_template( $post_id ) {
	if(get_post_type($post_id) = "post"){ //применяем только для страниц
		$parents = get_post_ancestors( $post_id ); // Получаем родителя
		if(array_search('parent-slug', $parents)){ // Заменить 'parent-slug' на slug родителя 
			update_post_meta( $post_id, '_wp_page_template', 'template-name.php' );  //Тут указываем шаблон
		}
	}
}
add_action( 'save_post', 'update_page_template' );

В данном примере устанавливается шаблон страницы при сохранении\обновлении.

Leave a Comment