Wp_nav_menu () - взема произволно меню, създадено в облика панел - меню - (външен вид -

Показва произволно меню, създадено в панела: "Външен вид> менюта" (Външен вид> менюта).

Какви дисплей навигационното меню (може да има няколко), е посочено в параметър theme_location.

Ако не е указано theme_location. След това, за да се покаже менюто ще бъде избрана в следния ред:

в противен случай, първият не е празна менюто;

или отпечатате стойността върната от функцията, посочена в параметър "fallback_cb" (по подразбиране ако не е посочено функция wp_page_menu);

  • ако нещо не пасва, функция и няма да се оттегли нищо.
  • В подкрепа на менюто тема, трябва да активирате тази функция, чрез:
    add_theme_support ( "менюта");

    Или можете да се регистрирате на място за менюто, като се използват register_nav_menu (). след това подкрепата на тема меню включва автоматично.

    Повече за включването и добавяне можете да прочетете в менюто в отделна статия.

    Филтър променя опцията в менюто

    nav_menu_item_args - настройки за филтриране на отделен елемент от менюто.

    nav_menu_css_class - филтри класове СГО (клас атрибутите) на индивида

  • елемент от менюто.

    nav_menu_item_id - тя филтрира ID атрибут на индивида

  • елемент от менюто.

    nav_menu_link_attributes - филтърни атрибути елемент от менюто: заглавие, мишена, отн, HREF.

    nav_menu_item_title - филтри видим текст на точка от менюто връзки.

  • walker_nav_menu_start_el - филтрира HTML код, започващ индивидуален елемент от менюто. Start означава, некласифицирани ли етикет:
  • Куки на функции:

    плужек) _items "заглавие =" / ** * Филтри съдържанието на HTML списък за конкретна навигационното меню. * * * * @since 3.0.0 @see wp_nav_menu () * * @param низ $ предмети списък на съдържанието на HTML за елементите от менюто. * @param stdClass $ аргументи Един обект, съдържащ wp_nav_menu (аргументи). * / $ Items = apply_filters ( "wp_nav_menu__items", $ предмети, $ аргументи); "> wp_nav_menu_ (menu-> изсушителни) _items

    постъпления

    Функцията показва менюто HTML код.

    Аргументи параметър $ аргументи

    theme_location (низ) ID на местоположението на шаблона на менюто. Идентификатор посочване на функция register_nav_menu () при регистрацията на менюто.
    По подразбиране: меню (низ) от менюто '', за да бъдат показани. Съвместимост: идентификатор, плужек или името на менюто.
    По подразбиране: "" контейнер (низ)

    Маркерът за опаковане ул. Приема се: Разделение или навигация.

    Ако не е нужно да се обвиват всичко пишем невярно: контейнер => невярно.
    По подразбиране: Разделение

    container_class (низ) атрибут клас стойност сред контейнер меню.
    По подразбиране: меню - контейнер container_id (низ) Стойността на атрибута ID в менюто на контейнера.
    По подразбиране: '' menu_class (низ) Стойността на атрибута клас в маркера ул.
    По подразбиране: меню menu_id (низ) Стойността на атрибута ID в маркера ул.
    По подразбиране: ехо меню охлюв (Булев) показва (истина) или да се върнете в процес (фалшиво).
    По подразбиране: вярно fallback_cb (низ) функция, за да се справят с изход, ако не се намери меню.
    Преминава всички аргументи $ аргументи функция е посочено тук.
    Поставете празен низ '' или '__return_empty_string ". така че нищо не се показва, ако няма меню.
    По подразбиране: wp_page_menu преди (низ) Текстът преди етикета меню.
    По подразбиране: '' след (низ) текст след всеки таг
    меню.
    По подразбиране: '' link_before (низ) Текст на котва текст на всяка връзка в менюто.
    По подразбиране: '' link_after (низ) Текст котва след всяка връзка в менюто.
    По подразбиране: '' items_wrap (низ) Необходимо ли е да приключи елементите в маркера ул. Ако е необходимо, задайте шаблона обвивка.
    По подразбиране: "

      % 3 $ S
    "Дълбочина (число) Колко нива на вложени линкове дисплей. 0 - всички нива. проходилка (обект) на класа, които ще бъдат използвани за изграждане на менюто. Трябва да посочите един обект, а не като низ, като нов My_Menu_Walker (). Подразбиране: Walker_Nav_Menu (). Как да използвате: виж по-долу.
    По подразбиране: Walker_Nav_Menu item_spacing (низ), или не оставят нови редове в кода на HTML меню. Може би: запази или да отхвърлите
    По подразбиране: "запазване" на върха

    # 1. С настройките по подразбиране изход от първото не е празна меню:

    # 2. Дисплей меню с името "навигация на сайта":

    # 3 от менюто на страниците. Пример за теми: Двадесет Ten.

    Ако изходът не е конфигуриран и менюто не е намерен, тогава менюто ще бъде изграден от страниците функция wp_page_menu ().

    В този пример, менюто ще се появи с гол охлюв "първичен":

    # 4 Използвайте wp_nav_menu_args филтър, за да зададете настройките по подразбиране за всички меню

    За да се изважда от всички навигационното меню веднага, използвайте следния код в functions.php файла за темата. Използвай куката "wp_nav_menu_args":

    # 4.1. Извадете контейнера, само един изход от менюто

    # 5 Премахни ул обвивка

    Този пример ще премахне ул обвивка маркер от менюто:

    # 6 Добавяне на дума старт менюто

    Този пример показва как да добавите дума в началото на списъка на менюто, под формата на една и съща позиция в менюто, но не се свържете с него. Добави в горната част на менюто, думата "List" ще посочите атрибут за идентификатор създаден Ли етикет:

    # 7 Запиши CSS класове до всички менюта

    С помощта на куката, ние можем да добавите свои собствени CSS класове, ако спазва правилната състояние.

    Добави CSS клас, ако и наименованието на елемента от менюто все още "блог":

    # 8 Използването на функцията си за изграждане на менюта

    За да направите това, първо трябва да се уточни аргумента "проходилка" => Новата Your_Walker_Function.

    Your_Walker_Function - това е нашият нов клас, който се натрупва в менюто. За да не се преоткрива колелото, той може да бъде копиран от оригиналния (клас Walker_Nav_Menu от файл \ на WP-включва \ навигационно меню-template.php) и просто да се ощипвам, където е необходимо.

    Ето един пример, който добавя дълбочина меню и Четен / нечетен брой CSS класове на елементи от менюто (както и ул Ли):

    В административната област, трябва да създадете 2 различни менюта и ги прилага към съответните места (площи).

    # 10 CSS клас за менюто на родителските клетки

    Ако искате да добавите CSS клас за менюто елементи, които имат дъщерни дружества (подредени списъци с линкове), а след това ние да направите това:

    # 11 Добавяне на клас на отделни елементи от менюто

    Имаше специална кука за това: nav_menu_css_class. И сега, класовете могат да се добавят или премахнат през него. Например, нека добавим my__class клас на всички елементи от менюто:

    Елементи от менюто класове се добавят _wp_menu_item_classes_by_context функция ( $ Menu_items). Но за съжаление това не дава никакви филтри, за да добавите вашата класа. Ето защо, нека да отидем по заобиколен начин, както и използването на патерица str_replace ():

    # 12 Показване на менюто само ако съществува

    По подразбиране, ако няма меню, вместо това ще се оттегли страница. Но ако искате да се покаже менюто, само когато тя е създадена в администраторския панел, изберете fallback_cb параметър като "__return_empty_string":

    13 Заключение Само елемент от менюто

    Да предположим, че има първо ниво и всеки един от елементите на първото ниво, разполага със собствена подменю. Ние трябва да се въвеждат в подменю с клас меню-елемента-135:

    Не е наистина най-доброто, но работещ пример. Понякога тя може да бъде полезна, за неясни сайтове, където трябва бързо да получите резултат.

    CSS класове на елементи от менюто

    Следващите CSS класовете на елементите от менюто (условия за разделяне на страници, които се намират на потребителя) се добавят:

    За всички елементи на всички страници

    .меню-т - всички позиции от менюто;

    За елементите на текущата страница

    За елементи на родителя за страницата, която разглеждате

    За елементи, свързан по някакъв начин със страницата, която посещавате

    За елементи, свързани към началната страница

    Съвместимост с функция wp_page_menu ()

    В примерите по-често се използва за елемент от менюто $ елемент. По-долу показва, почти всички от настройките за този елемент:

    Пример на параметъра Walker

    Уокър може да осигури един обект, който ще се изгради в менюто. Този обект може да бъде описан в HTML код меню получили.

    Ако искате да създадете потребителски меню за оформлението, понякога е по-лесно да променят този обект, отколкото да ремонтирам оформлението.

    Като пример, на обект проходилката, да вземе Walker_Nav_Menu клас<>. който е по подразбиране. В него ние се интересуваме от (метод само един start_el). Той е отговорен за всеки елемент от HTML. Като правило, това е достатъчно, за да се промени, само си. За да направите това, трябва да се създаде клас, който ще се разшири Walker_Nav_Menu клас и да го посочите в параметъра проходилка, когато се позовава на менюто.

    Ние разгледаме един пример. Взети метод код start_el () непроменена. Използвайки като шаблон:

    Сега, когато се обадите менюто, посочете проходилка:

    Съставено, сега всеки елемент от менюто, ще се основава на необходимата схема HTML нас.

    навигационно меню Код WP. WP-включва / навигационно меню-template.php WP 4.8.1

    Са свързани функции

    От етикета: nav_menu (навигационното меню)

    Добре дошли Тимур! Моля, кажете ми, че е възможно да се установи WP-меню е WordPress двигател. В един форум директория, в която искате да се покаже менюто на Работната група, в друга той WP. Оказва се, че това е възможно да се свърже с WP и priinkludit всички файлове от WP. В каква посока да се мисли? Благодарим Ви!

    Има решение:

    включва ( "./wp-load.php ');
    wp_nav_menu (масив ( "меню '=>' каквото ');

    Но възможно ли е по някакъв начин да се оптимизира, а не цялата WP качване, но само това, което се отнася до менюто? благодаря