Все про wordpress страницы, функция wp_list_pages
Смотрю по голосованию, читателям интересны публикации для начинающих. Сегодня именно такая тема, можно сказать продолжение одной из прошедших статей. Помните, я рассказывал про плагины для страниц в 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 на английском вы можете найти здесь. Про плагины для сортировки я уже говорил в прошлых публикациях, вроде нечего добавить. Если есть какие-то вопросы по теме – спрашиваем в комментариях.
комментариев 159 к статье “Все про wordpress страницы, функция wp_list_pages”
Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!
Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:
- Як сховати відсутні товари в Woocommerce шорткодах та схожих товарах
- Сервіс AdMaven + плагін для монетизації трафіка на WordPress сайтах
- Плагіни для створення стрічки новин з біжучим рядком в WordPress
- Як змінити розміщення кнопки оформлення замовлення в WooCommerce
- Плагін WHWS Display In Stock Products First – відображення товарів в наявності першими
- Підписка MonsterONE: чи варто використовувати цей сервіс у 2023 році? (+5 продуктів, які треба скачати в першу чергу)
- Онлайн генератор ссылок на мессенджеры для WordPress и не только
- WooCommerce (46)
- Безопасность (12)
- Видео (6)
- Виджеты (28)
- Возможности (141)
- Вопрос-ответ (6)
- Начинающим (52)
- Новости (46)
- Оптимизация (23)
- Плагины (246)
- Сервисы (87)
- Хаки и секреты (87)
- Шаблоны (45)
- Записи и посты wordpress, оформление записи (5,91 из 7, голосов - 47)
- Проблема с адаптивными изображениями в Gutenberg редакторе WordPress (3,88 из 7, голосов - 50)
- Умный копирайт в footer.php для wordpress (5,63 из 7, голосов - 30)
- Обновление плагинов и тем в WordPress: автоматическое, через FTP, скрытие уведомлений (5,19 из 7, голосов - 31)
- Polylang — плагин для мультиязычных сайтов на нескольких языках в WordPress (4,42 из 7, голосов - 31)
- Плагин TinyMCE Advanced – wordpress текстовый редактор (6,35 из 7, голосов - 20)
- Рубрики и категории wordpress, функция wp_list_categories (6,05 из 7, голосов - 20)
- Дизайн Мания - о веб-дизайне и не только.
- Tod's Blog - все про заработок онлайн.
- Вебдванольные заметки - обзоры веб-сервисов.
- Советы по выбору холодильника LG с технологией No Frost
- Зачем нужны Wi-Fi ретрансляторы и как выбрать подходящую модель
- Введение в онлайн-казино Slotor777: многообразие игр и привлекательные бонусы
- Необходимость использования облачного хранилища в наше время, что важно и как выгодно?
- Спрощення процесу звітності за допомогою програми BAS Бухгалтерія
- Технологія підключення інтернету GPON та її переваги
- За що гравці найбільше цінують Lineage 2
- Для каких проектов нужна аренда виртуального сервера и что такое VPS
Подскажите, у меня при добавлении новой записи она появляется на главной странице, как сделать так, чтобы новые записи добавлялись на главную страницу и на другую страницу определенной тематики. чтобы при выборе определенной тематики отображались только записи с этой тематикой?
Den, странно, но уже не первый раз читаю подобный вопрос — то, что вам нужно теоретически и выполняется в вордпресс, то есть записи выводятся и на главной и в раздел категории — для этого ничего дополнительно делать не нужно. Почему у вас так не происходит? — возможно, что-то в настройках или в выбранном шаблоне, иногда также виноваты бывают разные плагины.
Многие люди задают один и тот же вопрос, но ответа мы на него так и не получили!! Мы — чайники. И хотелось бы узнать пошагово — как сделать так, чтобы на какой-то другой странице помимо главной отражались записи определенной категории. Допустим, я написала статью и хочу чтобы она отражалась на второй странице моего сайта, а также дублировалась на главной (ну или не дублировалась, но это уже другой вопрос). Захожу в «Записи», создаю запись, публикую. Она выводится на главной странице и все. Ну поставлю я галочку к какой категории ее отнести, а дальше то что? Как ее отразить на второй странице сайта?
Александра, в том то и проблема, я не могу объяснить абсолютно все тонкости и базовые понятия системы — для этого нужно ну очень много писать статей, тем более в интернете есть даже видео уроки. По вашему вопросу. Нужно понимать, во-первых, что в вордпресс есть «записи» (посты блога) и «страницы» — статические странички о сайте, об авторе и т.п. Основным понятием являются именно записи (посты). Во-вторых, по умолчанию при создании записи она всегда будет отображаться на главной. Если вы добавите ее в какую-то категорию, то потом кликнув по ссылке категории сможете увидеть только записи из этой рубрики — смотрите как сделана горизонтальное меню в этом блоге — именно так и работают категории. Дабы вывести список категорий можете использовать виджеты или добавить соответствующий код в шаблон блога — почитайте пост про категории вордпресс там есть полезная информация по теме.
А есть ли возможность добавить атрибут title в тег A данной функции ?
Прописал в гугле как удалить форму добавления комментариев и попал на эту публикацию, но об этом ни слова. ) Помогите. )
Noirman, точно не знаю, но можно немного схитрить — когда-то был пост про вывод категорий для поста через функцию get_the_category так вот в нем приведен пример «перехвата» результатов функции и их обработка, должно пригодиться.
Art-n1, ответил в другой статье, где также был оставлен комментарий, правда там только суть метода, код придется самому сочинить.
А как из обычного ВП новостника зделать портал,можно ли найти какието плагины?
Серега, нужно найти соответствующий шаблон (тему), они называются magazine themes. Плагины, в принципе, используются все основные, разве что парочку необычных.
помогите решить одну проблему, я абсолютный новичок. создал свой сайт и у меня возникли два вопроса — создал стр. создал подстр. но они не выпадают на сайте при нажатии кнопки родителя, что сделал не так7 У меня появилась чужая реклама . как ее убрать? Буду признателен если поможете!
Николай, страницы будут выпадать только в том случае, если изначально в шаблоне это предусмотрено. Тут либо разбираться с вопросом самостоятельно либо использовать другой шаблон. Реклама, возможно, также была вшита в шаблон — нужно зайти в раздел «Внешний вид» — «Редактирование» и поискать в файлах шаблона где имеется соответствующий рекламный код.
Здравствуйте!
Подскажите пожалуйста, какой мне код ввести надо, чтобы вывести последние 10 страниц, ну или самые популярные?
Заранее благодарен!
Дмитрий, используйте параметр sort_column = post_date в функции wp_list_pages, тогда будет сортировка по дате.
Вы вот скажите мне,почему не сохраняется порядок страниц хочу поставить на 3,а она так и стоит на 10 месте.Выбираю Родительская стр без изменений и таких ньюансов много
Скажите, пожалуйста, как исключить из внутреннего поиска на сайте определенные страницы? Буду Вам крайне признателен за ответ!
Дмитрий, этим вопросом, к сожалению, никогда не задавался. Я бы для начала посмотреть функцию внутреннего поиска на предмет наличия дополнительных параметров (погуглить можно). Если ничего такого нет, то попробовал бы найти продвинутые плагины для поиска.
Tod, буду очень благодарен, если поможете. Не работают подстраницы по какой-то причине. (вот например, мне нужно сделать чтобы «книги» стали подстраницей для «Полезное». Какой код и куда мне нужно вставить? Благодарю заранее.
Ринат, чтобы сделать какую-то страницу подстраницей, то при ее редактировании в блоке «Атрибуты страницы» нужно выбрать родительскую страницу (вот тут третья картинка сверху). Если вам нужно это исключительно для меню, тогда с помощью нового механизма создания меню в ВП передвигаете страницу в меню так дабы она стала подстраницей.
Тод, я ставлю в атрибутах родительскую страницу, но это не работает. Страница просто пропадает, а при наведении на «родительскую» дочерняя не отображается((( Я не хочу создавать меню в сайдбаре. Я хочу, чтобы в основном меню отображались подстранички.
Скорее всего что-то нужно прописать в header или functions. Но я не понимаю, что именно. Может подскажете?
Ринат, посмотрите как в header.php выводится меню — через HTML код либо через функцию. Узнать где код меню можно изучив HTML код результирующей страницы и найдя похожие названия классов, например. Если выводится через функцию wp_list_pages, то нужно проверить все параметры, если через wp_nav_menu, то это другой подход (через админку создается меню).
Здравствуйте. Подскажите пожалуйста, не могу разобраться со страницами. Делаю обычный сайт без записей, только страницы. Создал необходимые страницы в верхнем меню. Дальше в сайдбаре создал свое меню и хочу туда добавить страницы, но они дублируются в верхнем меню. Как назначить странице где отображаться в верхнем меню или боковом?
Андрей, создавайте страницы через встроенный механизм меню в админке вордпресс. Если же очень хочется использовать именно функцию wp_list_pages, то там есть параметр include — вводите ID тех страниц, что нужно отображать в меню.
Скажите пожалуйста я хотел добавить записи в рубрику но когда добавил запись она появляется и на главной странице. как сделать чтоб запись появилась только в рубрик?
Kanny, по умолчанию записи у всех блогов отображаются на главной. Тут непонятно либо исключать только одну конкретную категорию, то гда можете почитать статью с хаком или о специальном плагине. Если же это глобальная задача не только для одной категории, то проще создать отдельный шаблон главной home.php и там указать что и как выводить.
Добрый день! У меня задвоилась главная страница, теперь в верхнем меню Главная Главная, а в боковом меню также задвоились рубрики — Рубрики Рубрики стоят. Подскажите пожалуйста, как исправить?
Наталия, нужно разбираться с кодом шаблона, посмотреть почему выводится все именно так. Возможно, в шаблоне изначально был задан вывод главной страницы как дополнение к навигации, а вы продублировали ее в своем меню. Посмотрите код шаблона шапки header.php.
Здравствуйте!
Пишу на всех возможных форумах с просьбой посмотреть кусочек кода. Сайт 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» />
С огромной благодарностью,
Юлия
Здравствуйте еще раз,
Кстати, My Page Order отображает все грамотно, но на вывод дочерних страниц не влияет!!! Странно, на shka-tulka,ru тема вообще написана жутко сложно, но все работает, а на dasha007.ru все просто — одна функция, но разобраться не могу…
Спасибо!
Юлия, я бы попробовал все сделать через меню. Создал новое меню в админке, а затем бы выводил его через функцию wp_nav_menu. Сложно разбираться в стороннем код, к тому же он еще и некорректно вставился. Попробуйте через wp_nav_menu сделать, новый шаблоны практически все используют эту функцию.