• Решено ws256

    (@ws256)


    При использовании функции вызова списка страниц
    <?php wp_list_pages('title_li=&child_of'); ?>
    для дочерних страниц, добавляется дополнительные теги
    <ul><li>
    как сделать чтобы они не добавлялись?

    Вот например:

    <li class="page_item page-item-88">
    <a title="страница" href="#/?page_id=88">Cтраница</a>
    <ul>
    <li class="page_item page-item-91"><a title="подстраница 1" href="#/?page_id=91">подстраница 1</a></li>
    <li class="page_item page-item-90"><a title="подстраница 2" href="#/?page_id=91">подстраница 2</a></li>
    </ul>
    </li>

Просмотр 15 ответов — с 1 по 15 (всего 16)
  • Модератор Yuri

    (@yube)

    Попробуйте параметр depth

    Подробности, как обычно, в Кодексе 🙂

    а мы уже обсуждали похожую тему вот здесь )

    всем привет

    а не подскажете, можно ли ограничить число выводимых страниц с помощью wp_list_pages

    я например, использую <?php wp_list_pages('sort_column=post_title&child_of=5147&title_li=0'); ?>

    можно ли здесь добвить параметр, который бы ограничивал число выводимы страниц?

    спасибо

    Уже направляли в Кодекс.
    На всякий случай тоже самое, только по русски.

    єто я все смотрел, но ответа не нашел…
    я так понимаю, что количество выводимых страниц ограничить нельзя?…

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Можно с помощью параметра number.

    я сразу так и думал, попробовал, не работает….
    пример

    <?php wp_list_pages('sort_column=post_title&number=2&child_of=5172&title_li=0'); ?>

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Параметр добавлен в версии 2.8.

    ок, понятно,
    спасибо

    обновился до 2.8.2…
    когда ставлю например number=2
    вообще не показываются заголовки страниц…
    проблема не решена…

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Успешно проверил на 2.8.2 приведённый выше пример (минус child_of).
    Как выглядит строчка целиком?

    пример работы wp_list_pages реализован здесь http://www.livestory.com.ua/people

    строчка целиком выглядит так

    <table border="0" cellpadding="10" cellspacing="10" width="100%">
    <tr valign="top"><td width="50%">
    <h1><a href="http://www.livestory.com.ua/people/a">А</a></h1>
    <ul id="related-posts"><?php wp_list_pages('sort_column=post_title&child_of=5147&title_li=0'); ?></ul>
    </td><td width="50%">
    <h1><a href="http://www.livestory.com.ua/people/b">Б</a></h1>
    <ul id="related-posts"><?php wp_list_pages('sort_column=post_title&child_of=5148&title_li=0'); ?></ul>
    </td></tr>

    и т.д.

    однако, при добавлении параметра number, нужное количество страниц не отображается…
    обновился до 2.8.2…

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    А как она же выглядела бы с number? Возможно, имеет место синтаксическая ошибка (например, не хватает амперсанда после числа).

    когда ставлю number вообще не отображается ни одной страницы

    <?php wp_list_pages('number=2&sort_column=post_title&child_of=5147&title_li=0'); ?>

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Действительно, number конфликтует с child_of:
    http://core.trac.wordpress.org/ticket/10230

    Тогда такое решение:
    1. Добавить фильтр в functions.php активной темы:

    function display_number($pages, $args) {
    	extract($args, EXTR_SKIP);
    
    	if ( !empty($display_number) )
    		$pages = array_slice($pages, 0, $display_number);
    
    	return $pages;
    }
    add_filter('get_pages', 'display_number', 10, 2);

    2. Использовать параметр display_number:

    <?php wp_list_pages('display_number=2&sort_column=post_title&child_of=5147&title_li=0'); ?>

Просмотр 15 ответов — с 1 по 15 (всего 16)
  • Тема «wp_list_pages» закрыта для новых ответов.