2016-05-23 15 views
0

Meine Wordpress-Site-Seiten wie diese hat:alle Seiten Kind holen, ohne dass die Eltern in Wordpress

-home 
    -about 
    -history 
-contact 
    -office1 
    -office2 
    -office3 
-solutions 
    -corporate 

Die Menüstruktur ist ebenfalls gleich. Wie kann ich nur die untergeordneten Seiten als ein Array, so dass ich so etwas wie dieses nicht erhalten:

-about 
-history 
-office1 
-office2 
-office3 
-corporate 

I 1. Gerade jetzt mit der Tiefe alle Seiten möchte ich diese Funktion bin mit:

$pagelist = get_pages('sort_column=menu_order&sort_order=asc'); 
$pages = array(); 
foreach ($pagelist as $page) { 
    $pages[] += $page->ID; 
} 

Aber hier bekomme ich auch die Elternseiten. Ich kann eine Schleife machen, um übergeordnete Seiten vom Array zu entfernen, aber gibt es irgendeine wordpress Lösung, um zu erhalten, was ich in einem Funktionsanruf erhalten möchte?

Antwort

0

Sie können dies mit einem WP_Query Objekt:

$children_query = new WP_Query(array(
    'post_type'   => 'page', 
    'orderby'    => 'menu_order', 
    'order'    => 'ASC', 
    'post_parent__not_in' => array('0') 
)); 
$children_pages = array(); 
if($children_query->have_posts()){ 
    while($children_query->have_posts()){ 
     $children_query->the_post(); 
     $children_pages[] = get_the_ID(); 
    } 
    wp_reset_postdata(); 
} 
var_dump($children_pages);