Изменение порядка и количества страниц отображаемых в меню

У меня получилось так, что в теме было ограничено количество страниц выводимых в меню. Добавляю страницу - а её не видно. И выводились они в порядке создания, а не так как я хотел. Проблема решается просто. В header.php ищем строку

<!--?php wp_list_pages('number=6&sort_column=post_date&depth=1&title_li='); ?-->

Здесь  number=6 указывает количество выводимых страниц, в данном случае 6.

sort_column=post_date  задаёт сортировку по дате создания страницы. Меняем на sort_column=menu_order и теперь страницы будут выводиться согласно присвоенному порядковому номеру. Номер присваивается при редактировании страниц в окне Порядок .

Чтобы не выводить определённые добавляем после   title_li= параметр &exclude=789, 342

Здесь 789, 342 идентификаторы страниц, которые не нужно выводить.

У меня получилось вот так

<!--?php wp_list_pages('number=8&sort_column=menu_order&depth=1&title_li=&exclude=789'); ?-->

Чтобы изменить отступы и расстояния между названиями страниц в меню необходимо в style.css отредактировать стиль, который отвечает за вывод списка страниц. У меня код выглядит так:

#nav ul li a {
        margin: 6px 5px 0 5px;
        padding: 5px 5px 5px 5px;
        font-size: 1.2em;
        color: #fff;
        text-decoration: none;
        font-weight: bold;
      }

 Здесь параметры  margin и  padding как раз отвечают за эти отступы в пикселях. Прописанные отступы применяются, соответственно, к верхней, правой, нижней и левой границе. padding делает отступ внутрь элемента от его границ, margin же отодвигает (делает отступ) сам элемент (его границы) от других, внешних элементов разметки.

Вот перечень всех параметров функции wp_list_pages :
sort_column – задает тип сортировки, по умолчанию страницы размещаются по алфавитному порядку исходя из их заголовка. Можно применить сортировку по дате создания, id, последнему изменению, автору, ссылке или параметру «порядок».
sort_order – определяет сортировку по возрастанию или убыванию.
exclude – исключаем id страниц из мению.
exclude_tree – исключаем по id страницы вместе с подстраницами.
include – включает в меню только (!) указанные в этом параметре wordpress страницы.
depth – определяет сколько уровней иерархии страниц будет отображено, по умолчанию значение равно 0, то есть выводит все страницы.
child_of – выводит подстраницы для выбранной страницы (задается ее id).
show_date – показывает дату последнего изменения страницы.
date_format – определяет формат выводимой даты.
title_li – заголовок для списка страниц.
echo – задает отображение меню (по умолчанию True) либо возвращает их список в HTML для использования в PHP.
meta_key – включает только страницы, где есть заданное произвольное поле (custom field).
meta_value – включает страницы, где есть заданное значения для ключа из произвольного поля.
link_before и link_after – текст внутри тега ссылки А, добавлен в wordpress 2.7.
authors – добавлять только страницы от определенных авторов.
number – количество страниц для отображения, лимит.
offset – сколько страниц нужно «пропустить» прежде чем начать отображение.

11 thoughts on “Изменение порядка и количества страниц отображаемых в меню”

  1. Эрик

    После включения Qtranslate перестало работать меню. Появляются только страницы, в алфавитном порядке. Не могу добавить ссылку на сторонний ресурс. Как исправить эту проблему?

  2. Эрик

    И еще, у меня главная статическая страница, и отдельная страница с записями. Ее в меню нет вообще! Что можно сделать, чтобы выводило ?

    1. Editor Post Author

      На этом сайте тоже главная статическая. Их не видно на всех языках или только на русском?

  3. Анна

    Добрый день! Спасибо за статью! У меня как раз проблема в количестве страниц. Изначально код выглядел так
    wp_list_pages(‘&sort_column=menu_order&depth=1&title_li=&exclude=’.$exclude); я переделала на такой wp_list_pages(‘number=8&sort_column=menu_order&depth=1&title_li=&exclude=789’);?>

    Но почему то ничего не изменилось. Я могу создавать страницы, но в меню они не отображаются ( В чем может быть причина? Заранее спасибо!

  4. Editor Post Author

    Здравствуйте. Какая тема установлена? Если бесплатная могу посмотреть, дайте ссылку

    1. Анна

      СПасибо! Шаблон paper-craft. Единственное, что мы изменили файлик bg_header. Но только содержательно, все размеры остались прежними. Ссылка на сайт http://sistemafly.ru/

  5. Editor Post Author

    Количество страниц ограничивается не в header.php, а в style.css. Есть там такие строки:
    #menu{
    position:absolute;
    overflow:hidden;
    top:237px;
    left:0;
    width:600px;
    height:42px;
    margin:0 0 0 5px;
    padding:0;
    }
    Всё дело в том что на вывод заголовка одной страницы необходимо 150 px
    Если сделать width:900px; то хватит места вывести 6 страниц. Надеюсь смысл ясен. Или редактировать фоновое изображение для заголовков страниц. Но это не так просто

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>