wp_list_pages включает страницы и показывает детей как выпадающий - PullRequest
1 голос
/ 18 октября 2011

Я использую WordPress для проекта, и я изо всех сил стараюсь, чтобы навигация показывала страницы, которые я запрашиваю только в функции wp_list_pages, я хочу показать только 5 страниц в моем главном mav, и затем, если эта страница имеет затем все дети показывают их в выпадающем списке, ниже приведен код, который я сейчас использую.

<?php wp_list_pages('title_li=&sort_column=post_date&include=138,110,135,101,167'); ?>

Как показать детям включенных страниц?

1 Ответ

1 голос
/ 19 октября 2011

Я считаю, что для меня лучше всего в таких ситуациях забыть об использовании страниц wp_list. Вместо этого сделайте запрос, а затем переберите результаты, чтобы получить дочерние страницы.

Пример:

<code><ul>
<?php 
    $args = array(
        'include'  => array(138, 110, 135, 101, 167),
        'orderby' => 'post_date',
        'post_type'=> 'page',
    );

    /* Get posts according to arguments defined above */
    $pages = get_posts($args);

    echo "<ul>";

    /* Loop through the array returned by get_posts() */
    foreach ($pages as $page) {

        /* Grab the page id */
        $pageId = $page->ID;

        /* Get page title */
        $title = $page->post_title;
        echo "<li>$title</li>";         

        /* Use page id to list child pages */
        wp_list_pages("title_li=&child_of=$pageId" );

        /* Hint: get_posts() returns a lot more that just title and page id. Uncomment following 3 lines to see what else is returned: */
        //echo "<pre>";
        //print_r($page);
        //echo "
"; } echo ""; ?>

И ваш вывод должен выглядеть примерно так:

<ul>
    <li>Parent Page1<li>

    <ul>
        <li>Child page1</li>
        <li>Child page2</li>
        <li>Child page etc</li>
    </ul>

    <li>Parent Page2</li>

    <ul>
        <li>Child page1</li>
        <li>Child page2</li>
        <li>Child page etc</li>
    </ul>

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