• Главная
  • Карта сайта
Не найдено

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

Опубликовано: 01.09.2018

видео wp_get_nav_menu_items() - функция WordPress

WordPress Custom Walker Menu

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


Part 17 - WordPress Theme Development - Create a custom Nav Menu - Part 1

Функция позволяет создать нестандартные 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 ) ;

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


Wordpress Theme Development tutorial from scratch (Part 22) Navigation Menu locations and menu items

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-стилей.

Новости
Провайдеры:
  • 08.09.2015

    Batyevka.NET предоставляет услуги доступа к сети Интернет на территории Соломенского района г. Киева.Наша миссия —... 
    Читать полностью

  • 08.09.2015
    IPNET

    Компания IPNET — это крупнейший оператор и технологический лидер на рынке телекоммуникаций Киева. Мы предоставляем... 
    Читать полностью

  • 08.09.2015
    Boryspil.Net

    Интернет-провайдер «Boryspil.net» начал свою работу в 2008 году и на данный момент является одним из крупнейших поставщиков... 
    Читать полностью

  • 08.09.2015
    4OKNET

    Наша компания работает в сфере телекоммуникационных услуг, а именно — предоставлении доступа в сеть интернет.Уже... 
    Читать полностью

  • 08.09.2015
    Телегруп

    ДП «Телегруп-Украина» – IT-компания с 15-летним опытом работы на рынке телекоммуникационных услуг, а также официальный... 
    Читать полностью

  • 08.09.2015
    Софтлинк

    Высокая скоростьМы являемся участником Украинского центра обмена трафиком (UA — IX) с включением 10 Гбит / сек... 
    Читать полностью

rss