Фев
3
159

Все про wordpress страницы, функция wp_list_pages

wordpress страницыСмотрю по голосованию, читателям интересны публикации для начинающих. Сегодня именно такая тема, можно сказать продолжение одной из прошедших статей. Помните, я рассказывал про плагины для страниц в wordpress, как мне кажется, вопрос до конца тогда не раскрыл. Точнее я начал сразу с плагинов, а можно было бы немного «подойти издалека». В общем, чтобы всем было понятно зачем wordpress страницы и как с ними работать – читаем дальше.

Конечно, ключевыми понятием в блогах и соответственно системе вордпресс являются записи (посты). Страницы используются не так часто – в основном чтобы донести посетителю какую-то статическую информацию: рассказать о проекте, предоставить контакты и т.п. Более активно данный инструмент используется, когда мы создаем на wordpress стандартный сайт, не блог. Именно поэтому внимание в админке wordpress страницам уделено не очень большое.

wordpress страницы

В меню есть всего 2 пункта, позволяющие изменить текущие и создать новые страницы. При наведения на те или иные записи, как в постах, вы можете быстро поменять их свойства, удалить вовсе или перейти к подробному редактированию. Добавление новой wordpress страницы полностью идентично созданию поста – вы вводите текст, задаете какие-то дополнительные параметры, определяете теги и мета информацию (title, description, keyword).

Кстати, интересной особенностью wordpress страниц есть возможность задавать им определенные шаблоны. Они могут использоваться для отображения другого дизайна или дополнительной функциональности для той или иной страницы. Например, я пару раз добавлял в «о проекте» облако тегов – выглядело достаточно симпатично. Подробнее тему уже рассматривал в статье создание отдельного шаблона страниц в WordPress – если интересно, читаем. Кстати, некоторые wordpress темы содержат в себе специальные файлы шаблонов для страниц.

Вывод wordpress страниц, функция wp_list_pages

Функция 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 – сколько страниц нужно «пропустить» прежде чем начать отображение.

В принципе, никаких сложностей с wordpress страницами возникнуть не должно. Но приведу все же несколько примеров. Итак, если мы хотим вывести меню, где будут содержаться только избранные несколько страниц + задать для этого блока соответствующий заголовок, то используем код:

<ul>
  <?php wp_list_pages('include=5,9,23&title_li=<h2>Menu</h2>' ); ?>
</ul>

Можно сортировать страницы по дате создания + выводить эту самую дату.

<ul>
  <?php wp_list_pages('sort_column=post_date&show_date=created'); ?>
</ul>

Некоторые другие примеры, а также описание функции wp_list_pages на английском вы можете найти здесь.  Про плагины для сортировки я уже говорил в прошлых публикациях, вроде нечего добавить. Если есть какие-то вопросы по теме – спрашиваем в комментариях.

рейтинг Оцените статью:
Ужасная статьяНичего интересногоТак себеНормальноХорошоКлассный постВ закладки!
(голосов - 8, средний балл: 5,75 из 7)
Загрузка...

категория Категории: Возможности; Начинающим;
теги Теги: , , , .

комментариев 159 к статье “Все про wordpress страницы, функция wp_list_pages”

  • Den   05.07.2012

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

  • Tod   07.07.2012

    Den, странно, но уже не первый раз читаю подобный вопрос — то, что вам нужно теоретически и выполняется в вордпресс, то есть записи выводятся и на главной и в раздел категории — для этого ничего дополнительно делать не нужно. Почему у вас так не происходит? — возможно, что-то в настройках или в выбранном шаблоне, иногда также виноваты бывают разные плагины.

  • Александра   08.07.2012

    Многие люди задают один и тот же вопрос, но ответа мы на него так и не получили!! Мы — чайники. И хотелось бы узнать пошагово — как сделать так, чтобы на какой-то другой странице помимо главной отражались записи определенной категории. Допустим, я написала статью и хочу чтобы она отражалась на второй странице моего сайта, а также дублировалась на главной (ну или не дублировалась, но это уже другой вопрос). Захожу в «Записи», создаю запись, публикую. Она выводится на главной странице и все. Ну поставлю я галочку к какой категории ее отнести, а дальше то что? Как ее отразить на второй странице сайта?

  • Tod   09.07.2012

    Александра, в том то и проблема, я не могу объяснить абсолютно все тонкости и базовые понятия системы — для этого нужно ну очень много писать статей, тем более в интернете есть даже видео уроки. По вашему вопросу. Нужно понимать, во-первых, что в вордпресс есть «записи» (посты блога) и «страницы» — статические странички о сайте, об авторе и т.п. Основным понятием являются именно записи (посты). Во-вторых, по умолчанию при создании записи она всегда будет отображаться на главной. Если вы добавите ее в какую-то категорию, то потом кликнув по ссылке категории сможете увидеть только записи из этой рубрики — смотрите как сделана горизонтальное меню в этом блоге — именно так и работают категории. Дабы вывести список категорий можете использовать виджеты или добавить соответствующий код в шаблон блога — почитайте пост про категории вордпресс там есть полезная информация по теме.

  • Noirman   23.07.2012

    А есть ли возможность добавить атрибут title в тег A данной функции ?

  • Art-n1   24.07.2012

    Прописал в гугле как удалить форму добавления комментариев и попал на эту публикацию, но об этом ни слова. ) Помогите. )

  • Tod   25.07.2012

    Noirman, точно не знаю, но можно немного схитрить — когда-то был пост про вывод категорий для поста через функцию get_the_category так вот в нем приведен пример «перехвата» результатов функции и их обработка, должно пригодиться.

  • Tod   25.07.2012

    Art-n1, ответил в другой статье, где также был оставлен комментарий, правда там только суть метода, код придется самому сочинить.

  • Серега   04.04.2013

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

  • Tod   04.04.2013

    Серега, нужно найти соответствующий шаблон (тему), они называются magazine themes. Плагины, в принципе, используются все основные, разве что парочку необычных.

  • николай   06.04.2013

    помогите решить одну проблему, я абсолютный новичок. создал свой сайт и у меня возникли два вопроса — создал стр. создал подстр. но они не выпадают на сайте при нажатии кнопки родителя, что сделал не так7 У меня появилась чужая реклама . как ее убрать? Буду признателен если поможете!

  • Tod   07.04.2013

    Николай, страницы будут выпадать только в том случае, если изначально в шаблоне это предусмотрено. Тут либо разбираться с вопросом самостоятельно либо использовать другой шаблон. Реклама, возможно, также была вшита в шаблон — нужно зайти в раздел «Внешний вид» — «Редактирование» и поискать в файлах шаблона где имеется соответствующий рекламный код.

  • Дмитрий   23.06.2013

    Здравствуйте!
    Подскажите пожалуйста, какой мне код ввести надо, чтобы вывести последние 10 страниц, ну или самые популярные?
    Заранее благодарен!

  • Tod   25.06.2013

    Дмитрий, используйте параметр sort_column = post_date в функции wp_list_pages, тогда будет сортировка по дате.

  • василий   03.08.2013

    Вы вот скажите мне,почему не сохраняется порядок страниц хочу поставить на 3,а она так и стоит на 10 месте.Выбираю Родительская стр без изменений и таких ньюансов много

  • Дмитрий   10.02.2014

    Скажите, пожалуйста, как исключить из внутреннего поиска на сайте определенные страницы? Буду Вам крайне признателен за ответ!

  • Tod   10.02.2014

    Дмитрий, этим вопросом, к сожалению, никогда не задавался. Я бы для начала посмотреть функцию внутреннего поиска на предмет наличия дополнительных параметров (погуглить можно). Если ничего такого нет, то попробовал бы найти продвинутые плагины для поиска.

  • Ринат   31.05.2014

    Tod, буду очень благодарен, если поможете. Не работают подстраницы по какой-то причине. (вот например, мне нужно сделать чтобы «книги» стали подстраницей для «Полезное». Какой код и куда мне нужно вставить? Благодарю заранее.

  • Tod   01.06.2014

    Ринат, чтобы сделать какую-то страницу подстраницей, то при ее редактировании в блоке «Атрибуты страницы» нужно выбрать родительскую страницу (вот тут третья картинка сверху). Если вам нужно это исключительно для меню, тогда с помощью нового механизма создания меню в ВП передвигаете страницу в меню так дабы она стала подстраницей.

  • Ринат   01.06.2014

    Тод, я ставлю в атрибутах родительскую страницу, но это не работает. Страница просто пропадает, а при наведении на «родительскую» дочерняя не отображается((( Я не хочу создавать меню в сайдбаре. Я хочу, чтобы в основном меню отображались подстранички.

    Скорее всего что-то нужно прописать в header или functions. Но я не понимаю, что именно. Может подскажете?

  • Tod   02.06.2014

    Ринат, посмотрите как в header.php выводится меню — через HTML код либо через функцию. Узнать где код меню можно изучив HTML код результирующей страницы и найдя похожие названия классов, например. Если выводится через функцию wp_list_pages, то нужно проверить все параметры, если через wp_nav_menu, то это другой подход (через админку создается меню).

  • Андрей   01.12.2014

    Здравствуйте. Подскажите пожалуйста, не могу разобраться со страницами. Делаю обычный сайт без записей, только страницы. Создал необходимые страницы в верхнем меню. Дальше в сайдбаре создал свое меню и хочу туда добавить страницы, но они дублируются в верхнем меню. Как назначить странице где отображаться в верхнем меню или боковом?

  • Tod   02.12.2014

    Андрей, создавайте страницы через встроенный механизм меню в админке вордпресс. Если же очень хочется использовать именно функцию wp_list_pages, то там есть параметр include — вводите ID тех страниц, что нужно отображать в меню.

  • Kanny   13.02.2015

    Скажите пожалуйста я хотел добавить записи в рубрику но когда добавил запись она появляется и на главной странице. как сделать чтоб запись появилась только в рубрик?

  • Tod   13.02.2015

    Kanny, по умолчанию записи у всех блогов отображаются на главной. Тут непонятно либо исключать только одну конкретную категорию, то гда можете почитать статью с хаком или о специальном плагине. Если же это глобальная задача не только для одной категории, то проще создать отдельный шаблон главной home.php и там указать что и как выводить.

  • Наталия   20.02.2015

    Добрый день! У меня задвоилась главная страница, теперь в верхнем меню Главная Главная, а в боковом меню также задвоились рубрики — Рубрики Рубрики стоят. Подскажите пожалуйста, как исправить?

  • Tod   21.02.2015

    Наталия, нужно разбираться с кодом шаблона, посмотреть почему выводится все именно так. Возможно, в шаблоне изначально был задан вывод главной страницы как дополнение к навигации, а вы продублировали ее в своем меню. Посмотрите код шаблона шапки header.php.

  • Юлия   12.01.2016

    Здравствуйте!
    Пишу на всех возможных форумах с просьбой посмотреть кусочек кода. Сайт http://dasha007.ru/ , тема Pets Couple in St Louis. Основное топ-меню формируется функцией wp_list_pages. Все просто, но в меню не отображаются уровни вложенности страниц. Очень странная вещь происходит:
    1. По умолчанию в теме зашит параметр depth=1, при этом корректно выводятся все страницы 1 уровня в заданном мной порядке. Страницы 2 уровня (вложенные в страницу «Обо мне»), естественно, не выводятся.
    2.При установке depth=2 выводятся только ПЕРВЫЕ ДВЕ страницы согласно заданному порядку
    3. При установке depth=0 или 3 или 4 или 5 в меню выводится только Главная стр.
    Глюки какие-то, первый раз с таким сталкиваюсь.
    Пробовала заменить вывод страниц на вывод рубрик — та же картина, отсутствует вложенность, да мне со страницами удобнее через юзерские шаблоны.
    На втором сайте все работает, да и раньше проблем не было… Помогите пжлст, если будет минутка!

    Вод код в Заголовке:

    < id=»blog_title»><a href="»></>

    <a href="»>Главная

    <a href="»><img src="/images/spacer.gif» alt=»RSS» />

    С огромной благодарностью,
    Юлия

  • Юлия   12.01.2016

    Здравствуйте еще раз,
    Кстати, My Page Order отображает все грамотно, но на вывод дочерних страниц не влияет!!! Странно, на shka-tulka,ru тема вообще написана жутко сложно, но все работает, а на dasha007.ru все просто — одна функция, но разобраться не могу…

    Спасибо!

  • Tod   12.01.2016

    Юлия, я бы попробовал все сделать через меню. Создал новое меню в админке, а затем бы выводил его через функцию wp_nav_menu. Сложно разбираться в стороннем код, к тому же он еще и некорректно вставился. Попробуйте через wp_nav_menu сделать, новый шаблоны практически все используют эту функцию.

Оставить комментарий

(предыдущая статья)

Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!

Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:

Поиск:
Последние посты
Лучшее в категории

Облако тегов
Скажи свое мнение!

В чем основные плюсы Wordpress?

Посмотреть результаты

Загрузка ... Загрузка ...
Друзья проекта
Последние новости