- Описание функции
- Примеры использования
- Отображение списка страниц с домашней ссылкой
- Получение HTML-меню страниц
- Сортировка списка страниц
- Настройка внешнего вида меню
- Использование кастомного Walker для списка страниц
- Вопросы и ответы
- Как изменить порядок страниц в меню?
- Как добавить класс к элементу меню?
- Как изменить контейнер элемента меню?
- Как изменить текст ссылки на главную страницу?
- Как добавить HTML перед и после меню?
- Как изменить отступы между элементами меню?
- Как изменить порядок сортировки страниц?
- Как исключить определенные страницы из меню?
- Как включить только определенные страницы в меню?
- Связанные элементы
Описание функции
Функция wp_page_menu() отображает или извлекает список страниц с опциональной ссылкой на главную страницу. Она использует функцию wp_list_pages() для создания списка страниц.
Использование
wp_page_menu( array|string $args = array() ): void|string Функция wp_page_menu() принимает один аргумент — массив или строку аргументов для создания меню страниц. Аргументы передаются в функцию wp_list_pages(), которая генерирует список страниц.
$args(массив или строка) — Дополнительные аргументы для генерации меню страниц. См. документацию по функцииwp_list_pages()для получения дополнительных аргументов.
Функция возвращает HTML-код меню страниц, если аргумент echo равен false, иначе ничего не возвращает (тип данных void).
<?php
$args = array(
'sort_column' => 'menu_order, post_title',
'menu_id' => '',
'menu_class' => 'menu',
'container' => 'div',
'echo' => true,
'show_home' => 1,
'link_before' => '',
'link_after' => '',
'before' => '',
'after' => '',
'item_spacing' => 'discard',
'walker' => '',
'child_of' => 0,
'sort_order' => 'ASC',
'sort_column' => 'post_title',
'hierarchical' => true,
'exclude' => array(),
'include' => array(),
'meta_key' => '',
'meta_value' => '',
'authors' => '',
'parent' => -1,
'exclude_tree' => '',
'number' => 0,
'offset' => 0,
'post_type' => 'page',
'post_status' => 'publish',
);
$menu = wp_page_menu( $args );
?> В приведенном выше примере кода используются все доступные параметры функции wp_page_menu(). Вы можете настроить эти параметры в соответствии с вашими потребностями.
Примеры использования
Отображение списка страниц с домашней ссылкой
$args = array(
'show_home' => true
);
wp_page_menu($args);
Функция wp_page_menu() отображает список страниц с домашней ссылкой. В данном примере используется аргумент show_home со значением true, чтобы отобразить ссылку на главную страницу.
Получение HTML-меню страниц
$args = array(
'echo' => false
);
$menu = wp_page_menu($args);
echo $menu;
Функция wp_page_menu() может также возвращать HTML-меню страниц вместо его непосредственного вывода. В данном примере используется аргумент echo со значением false, чтобы получить HTML-код меню и сохранить его в переменной $menu. Затем этот код выводится с помощью echo.
Сортировка списка страниц
$args = array(
'sort_column' => 'post_title'
);
wp_page_menu($args);
Функция wp_page_menu() позволяет сортировать список страниц по различным критериям. В данном примере используется аргумент sort_column со значением post_title, чтобы отсортировать страницы по заголовку.
Настройка внешнего вида меню
$args = array(
'menu_id' => 'my-menu',
'menu_class' => 'custom-menu',
'container' => 'nav'
);
wp_page_menu($args);
Функция wp_page_menu() позволяет настраивать внешний вид меню страниц. В данном примере используются аргументы menu_id и menu_class, чтобы задать идентификатор и класс для элемента, содержащего меню. Также используется аргумент container со значением nav, чтобы обернуть меню в элемент <nav>.
Использование кастомного Walker для списка страниц
class Custom_Walker extends Walker_Page {
// Кастомный код для отображения страниц
}
$args = array(
'walker' => new Custom_Walker()
);
wp_page_menu($args);
Функция wp_page_menu() позволяет использовать кастомный Walker для отображения списка страниц. В данном примере создается класс Custom_Walker, который наследуется от Walker_Page и содержит кастомный код для отображения страниц. Затем созданный экземпляр класса передается в аргументе walker.
Вопросы и ответы
Как изменить порядок страниц в меню?
Для изменения порядка страниц в меню можно использовать аргумент sort_column функции wp_page_menu(). По умолчанию, страницы сортируются по полю «menu_order» и «post_title».
Пример использования:
$args = array(
'sort_column' => 'menu_order, post_title'
);
wp_page_menu($args);
Как добавить класс к элементу меню?
Для добавления класса к элементу меню можно использовать аргумент menu_class функции wp_page_menu(). По умолчанию, класс элемента меню равен «menu».
Пример использования:
$args = array(
'menu_class' => 'custom-menu-class'
);
wp_page_menu($args);
Как изменить контейнер элемента меню?
Для изменения контейнера элемента меню можно использовать аргумент container функции wp_page_menu(). По умолчанию, контейнер равен «div».
Пример использования:
$args = array(
'container' => 'nav'
);
wp_page_menu($args);
Как изменить текст ссылки на главную страницу?
Для изменения текста ссылки на главную страницу при использовании функции wp_page_menu() необходимо использовать аргумент show_home. По умолчанию, если этот аргумент не указан, текст ссылки будет «Home». Чтобы изменить текст, нужно передать новое значение в аргумент show_home.
$args = array(
'show_home' => 'Главная', // новый текст ссылки на главную страницу
);
wp_page_menu($args);
Как добавить HTML перед и после меню?
Для добавления HTML-кода перед и после меню при использовании функции wp_page_menu() необходимо использовать аргументы before и after. По умолчанию, значения этих аргументов равны пустой строке, то есть HTML-код не добавляется. Чтобы добавить HTML, нужно передать соответствующие значения в аргументы before и after.
$args = array(
'before' => '<div class="menu-wrapper">', // HTML-код перед меню
'after' => '</div>', // HTML-код после меню
);
wp_page_menu($args);
Как изменить отступы между элементами меню?
Для изменения отступов между элементами меню при использовании функции wp_page_menu() необходимо использовать аргумент item_spacing. По умолчанию, значение этого аргумента равно «discard», что означает, что отступы не сохраняются. Чтобы изменить отступы, нужно передать новое значение в аргумент item_spacing.
$args = array(
'item_spacing' => 'preserve', // сохранить отступы между элементами меню
);
wp_page_menu($args);
Как изменить порядок сортировки страниц?
Для изменения порядка сортировки страниц в меню, можно использовать параметр sort_column функции wp_page_menu(). По умолчанию, страницы сортируются по полю «menu_order» и «post_title».
Пример использования:
wp_page_menu( array(
'sort_column' => 'post_date, post_title'
) ); Как исключить определенные страницы из меню?
Для исключения определенных страниц из меню, можно использовать параметр exclude функции wp_page_menu(). В этот параметр передается массив идентификаторов страниц, которые необходимо исключить.
Пример использования:
wp_page_menu( array(
'exclude' => array( 2, 5, 8 )
) ); Как включить только определенные страницы в меню?
Для включения только определенных страниц в меню, можно использовать параметр include функции wp_page_menu(). В этот параметр передается массив идентификаторов страниц, которые необходимо включить.
Пример использования:
wp_page_menu( array(
'include' => array( 3, 6, 9 )
) ); Функция
wp_page_menu()является удобным инструментом для отображения или получения списка страниц в WordPress. Она позволяет настраивать порядок сортировки страниц, исключать определенные страницы из меню, а также включать только определенные страницы в меню. Это очень полезная функция для разработчиков WordPress, позволяющая создавать гибкие и настраиваемые меню для сайтов на этой платформе.
Связанные элементы
- Функция
wp_nav_menu(): Выводит пользовательский меню. - Функция
wp_list_pages(): Выводит список страниц. - Функция
wp_get_nav_menu_items(): Возвращает элементы пользовательского меню. - Хук
wp_nav_menu_args: Позволяет изменять аргументы функцииwp_nav_menu. - Хук
wp_page_menu_args: Позволяет изменять аргументы функцииwp_page_menu. - Хук
wp_nav_menu_items: Позволяет изменять элементы пользовательского меню. - Хук
wp_nav_menu: Вызывается после вывода пользовательского меню. - Хук
wp_list_pages: Вызывается после вывода списка страниц. - Класс
Walker_Nav_Menu: Класс-родитель для создания пользовательского вывода меню. - Класс
Walker_Page: Класс-родитель для создания пользовательского вывода списка страниц.