получить только подстраницы - PullRequest
1 голос
/ 06 мая 2010

Я хочу перечислить все подстраницы только одного уровня, хотя одной конкретной страницы. Я читал Справочник по функциям / получить страницы и думал, что $pages = get_pages( array( 'child_of' => $post->ID, 'parent' => $post->ID)) ; добьется цели, но она не работает. В нем перечислены все страницы на том же уровне, что и страница, с которой я вызываю этот код. Если я опущу родительский параметр, я получу все страницы даже с нужными мне подстраницами. Но я хочу only подстраниц.

Вся функция похожа на

    function about_menu(){
    if (is_page('about')){

    $pages = get_pages( array( 'child_of' => $post->ID, 'parent' => $post->ID)) ;
        foreach($pages as $page)
        {       
        ?>
            <h2><a href="<?php echo get_page_link($page->ID) ?>"><?php echo $page->post_title ?></a></h2>
        <?php
        }   
    }
    }

ниже - скриншоты от wp admin и результаты. Шахта вторая

Снимок экрана от WP admin http://img687.imageshack.us/img687/6139/e2568e8ec2684e7aa1bb3d1.png и результат http://img269.imageshack.us/img269/2365/329c5097c78f4d3186a177c.png

Ответы [ 2 ]

2 голосов
/ 06 мая 2010

Выезд wp_list_pages().Я думаю, что эти настройки дадут вам то, что вы хотите.

<?php
$args = array(
    'child_of'     => $post->ID, // current page
    'depth'        => 1, // get children only, not grandchildren
    'echo'         => 1, // print immediately when we call wp_list_pages
    'sort_column'  => 'menu_order', // sort by the menu_order parameter
);      
?>
<?php wp_list_pages( $args ); ?>
1 голос
/ 06 мая 2010

попробуйте добавить

global $post;

прямо перед объявлением $ страниц.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...