Шаблон для дочерних страниц / подстраниц

Я пытаюсь создать файл шаблона для моего настраиваемого типа сообщений, который отличается для родительского, дочернего и дочернего сообщений.

Лучшее, что я смог найти, это следующий код:

if( $post->post_parent !== 0 ) { get_template_part('content', 'child'); } else { get_template_part('content'); } 

Только проблема заключается в том, что он работает только для родителя> ребенка.

Есть ли способ сделать эту работу для родителя> ребенка> ребенка?

Вот основная идея:

Любая страница, на которой родительская страница ( $post->post_parent ) равна 0 , означает, что страница является страницей верхнего уровня. Если какое-либо другое значение существует, страница является дочерним элементом другой страницы. Это значение является идентификатором страницы, на которой задана конкретная страница.

С приведенной выше информацией мы можем рассчитать, является ли страница дочерним или granchild с использованием get_post и возвращаемых свойств WP_Post .

Вы можете попробовать следующее: ( CAVEAT: Untested )

 if ($post->post_parent === 0) { //Do something for post parent } else { $q = get_post($post->post_parent); if ($q->post_parent === 0) { //Do something for direct child } else { // Do something for grand child } }