Wie listet ich die untergeordnete Seite einer untergeordneten Seite auf

Ich habe mich gefragt, wie ich das Kind eines Kindes Seiten in WordPress auflisten kann.

Hier ist was ich eingerichtet habe.

Videos (Parent) -Music Videos(child) --Video 1 (Child of Child) --Video 2 (Child of Child) -Performances (Child) --Video 1 (Child Of Child) --Video 2 (Child Of Child) 

Ich möchte alle “Kind des Kindes” der Elternseite “VIDEOS” auflisten.

Ich kenne diesen Code nur die “Kind” -Seiten, aber nicht das Kind von Kindern.

 get_results("SELECT * FROM $wpdb->posts WHERE post_parent = ".$post->ID." AND post_type = 'page' ORDER BY menu_order", 'OBJECT'); ?>  
ID, 'thumbnail'); ?> <a href="https://wordpress.stackexchange.com/questions/236164/how-do-i-list-the-child-of-a-child-page/ID); ?>" rel="bookmark" title="post_title; ?>">post_title; ?>

Ich möchte dies tun, ohne etwas zu meiner functions.php hinzufügen zu müssen

Was muss ich hinzufügen, um dies zu ermöglichen? Ich habe fünf untergeordnete Seiten unter der Parent-Seite.

Solutions Collecting From Web of "Wie listet ich die untergeordnete Seite einer untergeordneten Seite auf"

Zunächst einmal, warum Sie nach Posts nach Ihrer benutzerdefinierten Abfrage suchen? Wir haben dafür die WP_Query class und die get_posts function.

 $child_pages = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_parent = ".$post->ID." AND post_type = 'page' ORDER BY menu_order", 'OBJECT'); 

wurde

 $pages = get_posts(array( 'post_type' => 'page', 'orderby' => 'menu_order' 'order' => 'ASC' 'posts_per_page' => -1, )); 

Als Nächstes sollten get_page_children function get_page_children ( get_page_children auf Codex ) verwenden, um eine Baumliste zu erstellen . get_page_children fragt die database nicht jedes Mal ab, wenn wir eine Liste von Kindern get_page_children möchten, sondern verwendet eine Liste aller Beiträge, die in der Variablen $pages gespeichert sind.

 
    < ?php foreach ($pages as $page): ?> < ?php if ($page->post_parent == 0): ?>
  • < ?php echo $page->post_title; ?> < ?php $children = get_page_children($page->ID, $pages); ?>
      < ?php foreach ($children as $child): ?> < ?php if ($child->post_parent == $page->ID): ?>
    • < ?php echo $child->post_title; ?> < ?php $granchildren = get_page_children($child->ID, $pages); ?>
        < ?php foreach ($granchildren as $grandchild): ?>
      • < ?php echo $grandchild->post_title; ?>
      • < ?php endforeach; ?>
    • < ?php endif; ?> < ?php endforeach; ?>
  • < ?php endif; ?> < ?php endforeach ?>

BEARBEITEN. Ich denke, dass dies jetzt zu Ihrer Erwartung passt:

 < ?php $posts = get_posts(array('posts_per_page' => -1, 'post_type' => 'page')); ?> < ?php $children = get_page_children($post->ID, $posts); ?> < ?php foreach ($children as $child): ?> < ?php if ($child->post_parent == $post->ID): ?> 

< ?php echo $child->post_title; ?>

    < ?php $grandchildren = get_page_children($child->ID, $posts); ?> < ?php foreach ($grandchildren as $grandchild): ?>
  • < ?php echo $grandchild->post_title; ?>
  • < ?php endforeach; ?>
< ?php endif; ?> < ?php endforeach; ?>

Bildbeschreibung hier eingeben