Страницы и подстраницы wp_list_pages

Здравствуйте.
Прошу помочь задать глубину списка при выводе страниц.
Вычитал, что существует "параметр depth, который определяет глубину списка при выводе".
Нашел <?php wp_list_pages(‘title_li=’); ?> в файле sidebar.php
Менял там все по-разному, но ничего не получалось.

Потом узнал, что

<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Левая колонка') ) { ?>
<!--сюда можно вставить все что угодно — будет отображаться если нет активных виджетов в этой колонке-->
<?php } ?>

Т.е. знаю, что надо редактировать wp_list_pages, но не получается, т.к. его блокирует вторая строчка в sidebar.php
Я в тупике. Где и что нужно изменить, чтоб в меню сайта (Страницы) отображались только страницы первого уровня, а при переходе раскрывались подстраницы данной страницы?

Вот код sidebar.php

<ul id="sidebarright">
<?php if ( function_exists('dynamic_sidebar') && dynamic_sidebar(2) ) : else : ?>
        <li>
                <h2>Recent Posts</h2>

                <ul>
                <?php wp_get_archives('type=postbypost&limit=05'); ?>

                </ul>

            </li>
            <li>

                <h2>Pages</h2>

                <ul>
                <li>
                <a href="<?php bloginfo('url'); ?>" class="<?php if (is_home() || is_single()) {echo ' active';} ?>" title="<?php bloginfo('name'); ?>">Home</a></li>
                
<?php wp_list_pages('title_li='); ?>

                </ul>

            </li>


                        <li>

                <h2>Meta</h2>

                <ul>

                    <li><?php wp_loginout(); ?></li>
                            <li><a href="<?php bloginfo('rss2_url'); ?>" title="<?php _e('Syndicate this site using RSS'); ?>"><?php _e('<abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li>
                            <li><a href="<?php bloginfo('comments_rss2_url'); ?>" title="<?php _e('The latest comments to all posts in RSS'); ?>"><?php _e('Comments <abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li>
                            <li><a href="http://wordpress.org/" title="<?php _e('Powered by WordPress, state-of-the-art semantic personal publishing platform.'); ?>"><abbr title="WordPress">Wordpress</abbr></a></li>
                            <li><a href="http://validator.w3.org/check/referer" title="<?php _e('This page validates as XHTML 1.0 Transitional'); ?>"><?php _e('Valid <abbr title="eXtensible HyperText Markup Language">XHTML</abbr>'); ?></a></li>

                </ul>

            </li>   
        
<?php endif; ?>

        </ul>

вот index.php

<?php get_header(); ?>
  <div id="container">

        <div id="leftnav">
      <?php get_sidebar(); ?>
    </div>
    <div id="rightnav">
      <?php include (TEMPLATEPATH . '/sidebar2.php'); ?>
</div>

    
    <div id="content">
    <?php if (have_posts()) : ?>
        
        <?php while (have_posts()) : the_post(); ?>
                
            <div class="post" id="post-<?php the_ID(); ?>">

        <div class="date"> <?php the_time('M-jS-Y') ?> </div>
                <h3 class="posttitle"><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a></h3>

                
                <div class="entry">
                    <?php the_content('Continue Reading &raquo;'); ?>
                </div>

                </div>
                <p class="postmetadata">Posted in <?php the_category(', ') ?> by: <?php the_author() ?><?php edit_post_link('Edit',' ',''); ?> -- <?php comments_popup_link('No Comments', '1 Comment', '% Comments'); ?></p>

    
        <?php endwhile; ?>

        <div class="navigation">
            <div class="alignleft"><?php next_posts_link('&laquo; Previous Entries') ?></div>
            <div class="alignright"><?php previous_posts_link('Next Entries &raquo;') ?></div>
        </div>
        
    <?php else : ?>

        <h2 class="center">Not Found</h2>
        <p class="center">Sorry, but you are looking for something that isn't here.</p>
        <?php include (TEMPLATEPATH . "/searchform.php"); ?>

    <?php endif; ?>
    </div>
    

<?php get_footer(); ?>
</div>
</body>
</html>

файл functions.php

<?php

if ( function_exists('register_sidebars') )
    register_sidebars(3);
    function wp_list_pages2($limit=NULL) {
    
    $defaults = array('depth' => 0, 'show_date' => '', 'date_format' => get_option('date_format'),
        'child_of' => 0, 'exclude' => '', 'title_li' =>'', 'echo' => 1, 'authors' => '', 'sort_column' => 'menu_order, post_title');
    $r = array_merge((array)$defaults, (array)$r);

    $output = '';
    $current_page = 0;

    $r['exclude'] = preg_replace('[^0-9,]', '', $r['exclude']);

    $r['exclude'] = implode(',', apply_filters('wp_list_pages_excludes', explode(',', $r['exclude'])));

    $pages = get_pages($r);

    if ( !empty($pages) ) {

        for($i=0;$i<count($pages);$i++)
        {
        $class1 = '';
        if (get_the_title($post->post_parent) == $pages[$i]->post_title) { $class1 = 'active';}
            $output .='<li><a href="'.get_page_link($pages[$i]->ID).'" class="'.$class1.'"><span>'.$pages[$i]->post_title.'</span></a></li>';
            if($limit!=NULL)
            {
                break;
            }
        }
    }

    $output = apply_filters('wp_list_pages', $output);

    echo $output;
}

?>

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

<?php wp_list_pages(‘title_li=&depth=’); ?> в depth указываешь глубину дочек(если они есть) 0 – выводит все, 1 только родители, 2 и больше кол-во уровней вложенности

Виджетами пользуюсь.
В sidebar.php вот это

<?php wp_list_pages('title_li='); ?>

идет после этого

<?php if ( function_exists('dynamic_sidebar') && dynamic_sidebar(2) ) : else : ?>

И если весь большой код sidebar.php (см. выше) урежу до этого

<ul id="sidebarright">
<?php if ( function_exists('dynamic_sidebar') && dynamic_sidebar(2) ) : else : ?>
<?php endif; ?>

        </ul>

то сайт работает и всё отображается.
И если вставляю depth в wp_list_pages (в том месте, где он находится сейчас), то ничего не меняется.
Сейчас так:
Страница 1
-Подстраница 1.1
-Подстраница 1.2
Страница 2
-Подстраница 2.1
-Подстраница 2.2

нужно сделать:
Страница 1
Страница 2

и когда нажму на Страница 2, чтоб было
Страница 1
Страница 2
-Подстраница 2.1
-Подстраница 2.2

а когда нажму на -Подстраница 2.2
то тоже должно быть
Страница 1
Страница 2
-Подстраница 2.1
-Подстраница 2.2

КАК это сделать? учитывая, что редактируя <?php wp_list_pages(‘title_li=’); ?> в sidebar.php не происходит ровным счетом ничего, т.к. (наверно из-за этого) он находится после
<?php if ( function_exists(‘dynamic_sidebar’) && dynamic_sidebar(2) ) : else : ?>

версия WP 2.3.3

Сейчас так:

Страница 1
-Подстраница 1.1
-Подстраница 1.2
Страница 2
-Подстраница 2.1
-Подстраница 2.2

нужно сделать:

Страница 1
Страница 2

и когда нажму на Страница 2, чтоб было

Страница 1
Страница 2
-Подстраница 2.1
-Подстраница 2.2

а когда нажму на -Подстраница 2.2
то тоже должно быть

Страница 1
Страница 2
-Подстраница 2.1
-Подстраница 2.2

и так далее до -Подстаница -ПодстаницЫ

ЭТО ВООБЩЕ РЕАЛИЗУЕМО, ИЛИ НЕТ?
Даже если <?php wp_list_pages(‘title_li=’); ?> перенесу до <?php if ( function_exists(‘dynamic_sidebar’) && dynamic_sidebar(2) ) : else : ?> или после "endif" ???????????????????????

http://mywordpress.ru/plugins/nautic-pages/
или плагин fold page list

sonika, спасибо за помощь.

WordPress 2.3.3 сборки maxsite.org
Denwer 3

Nautic Pages

скачал Version: 1.0.1 отсюда
http://downloads.wordpress.org/plugin/nautic-pages.zip
папку nautic-pages скопировал в \wp-content\plugins
Виджет Nautic Pages перенес в Сайдбар. Нажал на "Конфигурация", натсроил, нажал "Сохранить изменения", и…
на сайте ничего не изменилось, нажимаю "Конфигурация", а там все пусто, будто ничего и не настраивал.
Не работает.
Что не так?

Fold page list

читал эту статью
http://wphelp.ru/2008/list-sub-pages.htm
скачал отсюда
http://www.webspaceworks.com/downloads/fold_page_list.php.zip
Активировал в папке Плагины. Как понял, этот плагин не настраивается нигде? В админке ничего не нашел.
Код <?php wswwpx_fold_page_list ($arglist); ?>
разместил в сайдбар.пхп, _опять_же_, перед
<?php if ( function_exists(‘dynamic_sidebar’) && dynamic_sidebar(2) ) : else : ?>
Получилось. Только вопрос: как упорядочить? (по ID, по порядку страниц)
И ещё. Сверху появилось слово "Страницы", как его убрать? Не вписывается в дизайн шаблона. Или как изменить? В css может можно что-то прописать, а строчке <?php wswwpx_fold_page_list ($arglist); ?> задать какой-то там параметр?
А некоторые пункты меню (страницы) как часто "вылетают" в этом плагине Fold page list?

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