TechBlogSD - Все для WordPress и WEB разработки
WEB и WordPress инструкции, новости, обзоры тем и плагинов

WordPress – Полезные рецепты вывода страниц

1 381

WordPress – Полезные рецепты вывода страниц

Пройдемся по вкусным рецептам, советам и рекомендациям для создания идеального вывода страниц в WordPress.

В WordPress существует много удивительных способов отображения страниц. WP предоставляет два разных тега шаблона для отображения списков страниц вашего сайта. Первый, наиболее часто используемый тег wp_list_pages(), и второй, менее известный тег wp_page_menu(). Сначала мы рассмотрим очень гибкий wp_list_pages() тег шаблона, а затем перейдем к новому wp_page_menu() тегу.

Тег wp_list_pages ()

Почти все знакомы с wp_list_pages() тегом шаблона, и он хорошо зарекомендовал себя начиная с WordPress версии 1.5. Использование этого тега просто, просто добавьте следующий код в нужное место шаблона:

А затем вы можете настроить отображения по-разному, используя тонкое меню аргументов, приведенное на его справочной странице Codex . Давайте рассмотрим некоторые интересные вещи, которые вы можете сделать wp_list_pages().

Экстремальная мощность сортировки

Вы можете сортировать свои страницы по дескриптору любого поля в wp_post таблице базы данных WordPress. По умолчанию вы получаете по алфавиту в названии страницы, но есть и другие отличные варианты. Вот некоторые рецепты из них:

Это первое, что немного малоприятно, но может оказаться очень полезным для отображения ваших страниц в любом порядке. Чтобы настроить порядок страниц для отображения через menu_order параметр, назначаете каждой странице числовое значение на экране «Write / Edit Admin». Вы можете увидеть полный список доступных дескрипторов здесь .

Включить и исключить все

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

Этот exclude_tree параметр является новым начиная с WordPress версии 2.7. Это делает очень простой ветвь страниц (родительскую страницу и все последующие страницы) из ваших списков страниц.

Управление глубиной страниц

Существует два параметра, предназначенных для контроля глубины страниц, отображаемых wp_list_pages() тегом. Первый – это depth параметр, который по умолчанию отображает все подстраницы независимо от глубины. Существует также child_of параметр, который по умолчанию имеет значение 0 для отображения всех страниц и подстраниц. Вот несколько рецептов для настройки этих значений по умолчанию:

Этот child_of параметр является отличным способом отображения подменю определенных страниц, например, для реализации раскрывающихся меню и т.д. Обратите внимание, что wp_list_pages() на любой данной веб-странице могут использоваться несколько экземпляров .

Использовать с пользовательскими полями

Вот очень мощный способ настройки меню страниц с использованием значений настраиваемого поля. Используя meta_keyи meta_value параметры, вы можете сообщить WordPress, чтобы отображать только те страницы, которые содержат определенные пары ключ / значение для настраиваемого поля. Вот некоторые примеры:

Этот параметр также дает вам гибкость в изменении списков страниц без необходимости касаться какого-либо исходного кода.

Еще больше функциональности

WordPress недавно выпустил несколько новых трюков для wp_list_pages() тега. А именно, теперь у нас есть возможность обернуть якорный текст наших списков страниц любым HTML или текстом. Другие новые функции включают количество отображаемых страниц, а также количество страниц для передачи при отображении списков страниц. Давайте посмотрим:

Полный рецепт копирования / вставки для wp_list_pages ()

Есть еще несколько полезных параметров для wp_list_pages() тега, но вместо объяснения каждого из них я буду ссылаться на Codex для всех скучных деталей. Итак, прежде чем копаться в сочных материалах, вот рецепт «супер-вкусный», снабженный всеми возможными параметрами, специально разработанными для легкой настройки:

Хорошо, достаточно оснований, давайте рассмотрим некоторые действительно вкусные рецепты для списка страниц.

Список всех подстраниц текущей страницы

Здесь вы можете упростить свои боковые панели и общий дизайн страниц. Вместо перечисления каждой подстраницы на всех веб-страницах вашего сайта вы можете динамически отображать подстраницы только тогда, когда посетитель просматривает родительскую страницу. Так, например, на боковой панели вашей страницы будут перечислены все ваши родительские страницы, а затем каждая из родительских страниц отобразит список, содержащий все его подстраницы. Вот один из способов сделать это, как показано в Codex:

br /> <?php echo $children; ?>p> p><?php } ?>

Этот код, помещенный в файл шаблона темы, будет генерировать список всех подстраниц для текущей родительской страницы. Если подпапок нет, ничего не будет отображаться.

Точно так же этот метод будет отображать только подстраницы при посещении родительской страницы, но мы можем изменить код, чтобы все подстраницы отображались при посещении родительской или любой из подстраниц:

br /> <?php echo $children; ?>p> p><?php } ?>

И вы можете сделать еще лучше. С помощью следующего метода ваши списки страниц будут отображаться следующим образом:

  • При посещении главной страницы все страницы верхнего уровня перечислены на боковой панели.
  • При посещении страницы верхнего уровня без детей перечислены все страницы верхнего уровня.
  • При посещении страницы верхнего уровня с детьми перечислены только страницы с детьми и страницы с потомками.
  • При посещении дочерней страницы перечислены только дети и потоковые страницы этого родителя.

    Top Level Pages

    ' );br /> if (is_page( )) {br /> $page = $post->ID;br /> if ($post->post_parent) {br /> $page = $post->post_parent;br /> }br /> $children=wp_list_pages( 'echo=0&child_of=' . $page . '&title_li=' );br /> if ($children) {br /> $output = wp_list_pages ('echo=0&child_of=' . $page . '&title_li=

    Child Pages

    ');br /> }br /> }br /> echo $output;br /> ?>

Все это замечательно, но также полезно знать, как создать разметку, сгенерированную wp_list_pages() тегом шаблона. Давайте посмотрим на следующее.

Укладка wp_list_pages() разметки

Вот разметка по умолчанию, сгенерированная wp_list_pages() тегом шаблона (предполагая в общей сложности пять страниц с текущей страницей с идентификатором «1»):

Pages

Page ID 1br /> Page ID 2br /> Page ID 3br /> Page ID 4br /> Page ID 5br />

Вы можете разделить внешний

и охватывающий теги, включив title_li=в wp_list_pages() шаблон параметр ” ” (пустая строка) в качестве параметра в теге шаблона. Вы также можете хранить эти внешние теги и настраивать текст «Страницы» с любой разметкой и / или текстом, который вам нужен. Вместо пустой строки используйте title_li=

Pages

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

Меню страниц стилизации, созданное wp_list_pages ()

Вот список селекторов, доступных для стилизации меню вашей страницы:

.pagenav {} .page_item {} .page-item-n {} .current_page_item {} .current_page_parent {} .current_page_ancestor {}

Теперь, готовы к новым вещам? Приготовьте себя ..

Итак, как насчет этого нового wp_page_menu() тега шаблона? При всей гибкости wp_list_pages(), зачем это необходимо? В двух словах, wp_page_menu() это упрощенная версия wp_list_pages(). В дополнение к принятию нескольких одинаковых параметров этот новый тег приносит один новый трюк в таблицу: он обеспечивает возможность добавления домашней страницы вашего сайта в список отображаемых страниц. Этот тег был введен в WordPress версии 2.7 и, на мой взгляд, должен был быть интегрирован в существующий тег шаблона страницы. В любом случае, для тех, кто ищет простой способ включить вашу домашнюю страницу в список страниц:

Как уже упоминалось, большинство параметров такие же, как и раньше. Вот список общих параметров:

  • sort_column
  • include
  • echo
  • link_before
  • link_after

И – барабаная дробь – вот новые параметры: menu_classи show_home! Давайте проверим их.

menu_class

Это без проблем. Он просто указывает class атрибут для окружающего

. Да, список завернут в раздел. Любая строка может быть использована, вот пример:

show_home

Ahh, долгожданная функциональность «включить домашнюю страницу». Теперь вместо того, чтобы взламывать functions.php файл вашего клиента, чтобы включить главную страницу в главное меню, вы можете просто сделать это:

По умолчанию этот параметр возвращает false, и не отображается домашняя страница. Когда установлено значение true, в качестве первого элемента в списке страниц будет отображаться Главная страница. URL для домашней страницы берется из значения для вашего сайта «Адрес блога», как указано в Settings -> General.

Когда отображается домашняя страница, текст якоря по умолчанию – это просто «Главная», но вы можете настроить его так, как хотите, указав для значения параметра:

Для получения дополнительной информации об этом новом теге, гляньте здесь WordPress Codex

Итоги

WordPress предоставляет два разных способа перечислить ваши страницы: wp_page_menu() и wp_list_pages(). wp_list_pages() тег является мощным, гибким и полностью работоспособеным. Итак, если вам не нужно включать вашу домашнюю страницу, ваш лучший выбор всегда wp_list_pages().

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

Мой вопрос на этот день: почему функциональность домашней страницы не интегрировалась в существующий тег? Зачем усложнять вещи с помощью лишнего тега? Поделитесь своими мыслями!

Статья была переведена для блога TechBlog.SDStudio.top
Источник: https://digwp.com

Источник записи:

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