Как добавить меню навигации в записи и на страницы WordPress. Wordpress вывод меню


Как добавить меню навигации в записи и на страницы WordPress

Хотели бы вы вывести меню навигации WordPress в своих записях или страницах? Обычно, ваша тема WordPress сама задает как и где выводить меню навигации. В этой статье мы покажем вам как добавить меню навигации WordPress в записи/страницы или в любое другое место на сайте.

wpmenuinposts[1]

Зачем добавлять меню навигации WordPress в записи или на странице

Меню навигации в WordPress предлагает простой способ добавления структурированного меню на вашем сайте.

Можно создавать сколько угодно меню навигации в админке WordPress, однако вывести на сайте получится только в местах, определяемых вашей темой WordPress.

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

Давайте же посмотрим как можно добавить меню навигации в записи и на страницы WordPress.

Добавляем меню навигации в записи и на страницы WordPress

Первым делом вам потребуется установить и активировать плагин Shortcode Menu.

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

Как только ваше меню будет готово, можно переходить в раздел Shortcode Menu в админке. Вы окажетесь на странице генератора шорткодов.

shortcodemenu1[1]

Сначала потребуется выбрать меню для добавленя из выпадающего списка ‘Select Menu’. Если вам нужно добавить ID или атрибут класса в меню, то здесь можно это сделать.

Далее, выбираем стиль отображения меню. По-умолчанию, ваше меню будет выводится в виде блока. Можно изменить значение на inline для того, чтобы меню выстраивалось в горизонтальную линию.

blockmenu[1]

Также можно изменять цвет меню в разделе ‘Design your menu on the fly’. Плагин позволяет вам выбрать цвета фона, анкора и hover’а.

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

menushortcode[1]

Плагин добавляет свое форматирование для меню, но если захочется настроить внешний вид самостоятельно, то придется делать это с помощью CSS.

Во втором столбце на странице настроек плагина вы найдете базовый сниппет CSS. Его можно использовать в качестве отправной точки для стилизации меню.

Мы надеемся, что эта статья помогла вам добавить меню навигации в ваши записи и на страницы WordPress.

По всем вопросам и отзывам просьба писать в комментарии ниже.

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

VN:F [1.9.22_1171]

Rating: 5.0/5 (2 votes cast)

wpincode.com

wp_get_nav_menu_items() - функция WordPress

Блог  /  Кодекс WordPress  /  wp_get_nav_menu_items() — позволяет получить элементы меню в виде объектов

Получает массив объектов элементов меню. Если меню не содержит элементов, возвращает пустой массив, либо false, если указанного меню не существует.

Функция позволяет создать нестандартные HTML-шаблоны вывода меню, например вывод в виде только ссылок (подробнее в примере ниже) или в виде нумерованного списка.

wp_get_nav_menu_items( $menu, $args = array() )
$menu (строка) Можно указать ID, ярлык или название меню, элементы которого нужно будет получить. Не указывайте здесь области темы. $args (массив) Дополнительные параметры вывода. По умолчанию принимает следующие значения:
$args = array( 'nopaging' => true, 'post_type' => 'nav_menu_item', 'post_status' => 'publish', 'order' => 'ASC', 'orderby' => 'menu_order', 'output' => ARRAY_A, 'output_key' => 'menu_order', 'update_post_term_cache' => false );

Функция возвращает массив объектов элементов меню. Например вот пример объекта для ссылки на главную страницу:

WP_Post Object ( [ID] => 5861 [post_author] => 1 [post_date] => 2014-07-20 07:54:11 [post_date_gmt] => 2014-07-20 03:54:11 [post_content] => [post_title] => Главная [post_excerpt] => [post_status] => publish [comment_status] => open [ping_status] => open [post_password] => [post_name] => %d0%b3%d0%bb%d0%b0%d0%b2%d0%bd%d0%b0%d1%8f [to_ping] => [pinged] => [post_modified] => 2014-07-23 07:39:24 [post_modified_gmt] => 2014-07-23 03:39:24 [post_content_filtered] => [post_parent] => 0 [guid] => https://misha.blog/?p=5861 [menu_order] => 1 [post_type] => nav_menu_item [post_mime_type] => [comment_count] => 0 [filter] => raw [post_category] => 0 [post_icon] => [db_id] => 5861 [menu_item_parent] => 0 [object_id] => 5861 [object] => custom [type] => custom [type_label] => Произвольно [title] => Главная [url] => https://misha.blog [target] => [attr_title] => [description] => [classes] => Array ( [0] => )   [xfn] => )

Пример. Выводим меню в виде ссылок.

Обычно меню в WordPress всегда выводятся в виде маркированного <ul>-списка. Это удобно, но не всегда бывает нужно. Давайте посмотрим, как можно вывести меню просто в виде ссылок.

if( $menu_items = wp_get_nav_menu_items('Меню для шапки') ) { // "Меню для шапки" - это название моего меню. Вы можете также использовать ID или ярлык $menu_list = ''; foreach ( (array) $menu_items as $key => $menu_item ) { $title = $menu_item->title; // заголовок элемента меню (анкор ссылки) $url = $menu_item->url; // URL ссылки $menu_list .= '<a href="' . $url . '">' . $title . '</a>'; } echo $menu_list; }

Вот и всё, осталось только добавить к новому меню немного CSS-стилей.

misha.blog

Удаление пунктов меню в админке в WordPress

Блог  /  WordPress  /  Удаление пунктов меню в админке WordPress

Вопрос — зачем?

Ну предположим, что вы делаете сайт для кого-то и не хотите чтобы например пункт «Ссылки» мозолил ему глаза.

меню в админке wordpress

Конечно, полного отключения функционала ссылок таким образом мы не добьёмся, да и не нужно это нам, т.е. хоть элемент меню и пропадёт, страница ссылок по-прежнему будет доступна по адресу: wp-admin/link-manager.php

remove_menu_page()

Удаляет родительский элемент меню и все вложенные в него.

<?php remove_menu_page( $menu_slug ) ?>

Функция возвращает true, если меню удалено и false, если не найдено.

Как узнать $menu_slug? Очень просто — по ссылке, тем не менее я перечислю здесь все стандартные.

Я всё ещё хочу удалить пункт меню «Ссылки», покажу это на примере:

function remove_admin_menu_items() { remove_menu_page('link-manager.php'); }   add_action( 'admin_menu', 'remove_admin_menu_items' );

Как видите, это делается через хук, функцию разумеется можете назвать как угодно, код вставляется в functions.php активной темы.

remove_submenu_page()

субменю в админке wordpress

Удаляет вложенный элемент меню.

<?php remove_submenu_page( $menu_slug, $submenu_slug ) ?>

$submenu_slug — ярлык вложенного элемента меню, который вы хотите удалить, а параметр $menu_slug — это ярлык его родительского элемента.

Пожалуй, стоит перечислить все $submenu_slug стандартных пунктов меню (для тех, кто так и не разобрался).

И небольшой пример. Сейчас мы удалим подпункт меню «Обновления».

function remove_admin_submenu_items() { remove_submenu_page( 'index.php', 'update-core.php' ); }   add_action( 'admin_menu', 'remove_admin_submenu_items');

Смотрите также

misha.blog


Смотрите также

Prostoy-Site | Все права защищены © 2018 | Карта сайта