Вывод списка вложенных страниц

Хочу вывести список вложенных страниц.
Подскажите как можно реализовать, пусть даже используя одельные шаблоны для страниц.

Например:
страница "Воспитательная работа", в начале страницы введение / информационная тема
далее — список вложенных страниц ссылками на них.

В шаблоне страниц page.php после вывода контента добавьте что-то типа wp_list_pages(‘child_of=’.$post->ID);

Ой спасибо Ю.Б.! стыдно признаться, смотрел где мог, но не в мануале. Всё что надо: вывожу первый уровень вложенных страниц со ссылками. Приспособленный вариант из мана.

 <?php $children = wp_list_pages('title_li=&child_of='.$post->ID.'&echo=0&depth=1');
                    if ($children) { ?> 
                       <ul class="pages"> 
                    <?php echo $children; ?> 
                    </ul> 
<?php } ?>

А как вывести внутренние страницы только для определенной страницы, уже 3ий час воюю, немогу победить… 🙁

                <?php
                    if (!is_page() || is_category() ) { ?>
                        <ul>
                     <?php wp_list_categories('orderby=id&show_count=1&use_desc_for_title=0&child_of=1&hide_empty=0&title_li=<h2 class="widgettitle">' . __('Разделы') . '</h2>'); ?>
                        </ul>
                    <?php  }   ?>

                <?php
                    if (is_page('10') || !is_category() ) { ?>
                        <?php
  $children = wp_list_pages('title_li=&child_of=10&echo=0');
  if ($children) { ?>
  <ul>
  <?php echo $children; ?>
  </ul>
  <?php } ?>

                    <?php  }   ?>

В коде первый if – для страницы-категории с новостями, второй как раз для вывода внутренних страниц.

rolph, может у Вас есть шаблон page.php, а Вы воюете с index.php?

Кстати, || !is_category() – лишняя глупость 🙂

rolph, может у Вас есть шаблон page.php, а Вы воюете с index.php?

Кстати,  || !is_category() - лишняя глупость :)

Page.php – есть, но там всё банально:

            
<div id="sidebar">
    <?php
       get_sidebar();
    ?>
</div>

А код который я выше писал – это и есть sidebar

Уже когда-то воевали с сайдбарами, там после каких-то вызовов, не помню точно каких, WP напрочь забывает, где он находится, всякие is_home() и т.п. возвращают что попало. Попробуйте код в самом начале сайдбара.

query_posts если в начале находится, то может сбить с толку следующие за ним лупы и т.п.

Сейчас вообще хрень какая-то происходит…

оставил только

<?php
                    if (!is_page() and is_category()) { ?>
                        <ul>
                     <?php wp_list_categories('orderby=id&show_count=1&use_desc_for_title=0&child_of=1&hide_empty=0&title_li=<h2 class="widgettitle">' . __('Разделы') . '</h2>'); ?>
                        </ul>
                    <?php  }   ?>

выводит на всех страницах… даже на главной 😮

А вообще очень интересно, почему WP игнорит if (!is_home()) и всё равно выводит на главной…

Anonymous
Отправить
Ответ на: