Вывод списка страниц на WordPress в произвольном месте

Периодически требуется организовать вывод списка страниц в разных местах, например вывести "Реклама", "Статистика" и др. в футере, а какие-нибудь разделы сайта (например, "О блоге") вывести в шапке сайта. Делается это очень просто, в wordpress за вывод страниц отвечает функция:

<?php wp_list_pages() ?> // вывод списка всех страниц

Теперь выбираем место, где будут находиться страницы и вставляем эту функцию, но нам нужен вывод не всего списка, а лишь части, допустим страницы 1, 2, 3 в футере, а страницы 4,5 в шапке сайта. Для этого обратимся к параметрам функции:

exclude=id - исключает из выводимого списка id указанной страницы (id страницы можно увидеть при ее редактировании, например: http://example.com/wp-admin/page.php?action=edit&post=1 - у этой страницы id=1; для исключения списка необходимо перечислить id страниц через запятую, например: exclude=1,2,3 - исключит из списка страницы с id равным 1,2,3);

include=id - напротив, включает только перечисленные страницы;

sort_column - сортирует список страниц, значение sort_column=menu_order будет сортировать страницы в соответствии с настройками;

depth - контролирует отображение страниц, при значении depth=1 все страницы отображаются в одном списке.

Теперь пример, предположим у нас 5 страниц, соответственно с id=1,2,3,4,5, нам необходимо вывести в определенном месте страницы 1,2,3, для этого воспользуемся параметром include:

<?php wp_list_pages("sort_column=menu_order&title_li=&depth=1&include=1,2,3") ?> // вывод несортированного списка первого уровня из страниц 1,2,3

Комментарии (6):

  1. Ангелина

    24 июня 2009 в 17:23  #

    Спасибо за пример, давно исказала как это реализовать в WP.

  2. Ikinagara

    12 сентября 2010 в 17:37  #

    Спасибо. Давно мучался с выводом страниц в шапке)

  3. jojo97

    7 ноября 2010 в 03:21  #

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

  4. Denis

    9 ноября 2010 в 02:27  #

    Огромное спасибо за описание атрибутов функции. Я знал, что мне нужно сделать, но не знал точно, как задать атрибуты функции: include=1,2,3, а тут нашёл ответ на свой вопрос.
    Спасибо!

  5. Мария

    10 октября 2011 в 19:34  #

    Подскажите, пожалуйста. Меняю стандартную тему в WP, но при добавлении новых страниц они все автоматически выставляются в шапке, а мне нужно только 3 из них в шапке. Ввела вышеуказанную строку в кодировку заголовка, стало выводиться нужные 3 страницы, но они идут в столбик. Как сделать их в строку? Удаленный код из стандартной темы был:
    div id=»access» role=»navigation»>

    <a href="#content" title="»>

    ‘menu-header’, ‘theme_location’ => ‘primary’ ) ); ?>

  6. Мохнатый

    6 ноября 2011 в 23:14  #

    Огромное спасибо… долго мучался блин, а тут оказывается все так просто… Дурацкий id….