2016-05-23 14 views
0

私のワードプレスのサイトには、このようなページがあります。両親ずにワードプレスのすべての子ページを取得します

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

メニュー構造も同じです。どのように私はこのような何かを得ることができるように、私は、配列としてのみ子ページを取得することができます:私は今の深さが1のすべてのページをしたい

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

私はこの機能を使用しています:

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

しかし、ここでも親ページがあります。私は配列から親ページを削除するループを行うことができますが、私は1つの関数呼び出しで欲しいものを得るために任意のワードプレスのソリューションですか?

答えて

0

あなたはWP_Queryオブジェクトでこれを行うことができます。

$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); 
関連する問題