Я создаю меню для моего сайта. Статика выглядит так:
<nav>
<ul id="menu">
<li class="item_1"><a href="#">Item 1</a></li>
<li class="item_2"><a href="#">Item 2</a></li>
<li class="item_3"><a href="#">Item 3</a></li>
<li class="item_4"><a href="#">Item 4</a></li>
<li class="item_5"><a href="#">Item 5</a></li>
<li class="item_6"><a href="#">Item 6</a></li>
<li class="item_7"><a href="#">Item 7</a></li>
<li class="item_8"><a href="#">Item 8</a></li>
</ul>
Я был в состоянии понять, как настроить <ul>
тег, чтобы избавиться от автоматического <div>
тега. Но теперь я хочу настроить <li>
тег, чтобы иметь возможность назначать другое class
имя для управления определенным поведением через CSS. Когда я использую, wp_nav_menu()
вывод выглядит следующим образом:
<ul id="menu">
<li id="menu-item-111" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-111"><a href="http://mydomain.com/dummy/fashion/">Fashion</a></li>
<li id="menu-item-112" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-112"><a href="http://mydomain.comdummy/documentary/">Documentary</a></li>
<li id="menu-item-113" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-113"><a href="http://mydomain.com/dummy/events/">Events</a></li>
<li id="menu-item-114" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-114"><a href="http://mydomain.com/dummy/portraits/">Portraits</a></li>
</ul>
Я хочу , чтобы избавиться от id
в <li>
тегах и изменить , class
чтобы отразить название страницы , которую я хочу сделать ссылку. В основном я хочу вывести то же самое, что и первый фрагмент кода в этом посте.
Причина, по которой я это делаю, заключается в том, что я использую пользовательские изображения, которые контролируются моим CSS-кодом, состоящим из простого текста.
Это возможно? Какую стратегию я должен использовать, чтобы преодолеть эту проблему?
источник
Ответы:
Используйте пользовательский ходок , удалите все, что вам не нужно, и добавьте свои классы. Вот ходок, который я использую, чтобы получить список с чистой разметкой: T5_Nav_Menu_Walker_Simple .
Вы также можете фильтровать
'nav_menu_css_class'
или'wp_nav_menu_items'
. Но, по моему мнению, класс ходоков легче понять и контролировать.источник
<li>
, как мы можем контролировать, какие элементы мы хотим сохранить?print_r( $item, TRUE )
к каждомуli
. Затем решите, что с этим делать. :)перейдите к внешнему виду> меню - выберите необходимое меню - перейдите к «параметрам экрана» в правом верхнем углу, выберите «классы css» - добавьте класс к каждому пункту меню.
источник
Установка
<li>
класса вnav-link
, как это нужно для начальной загрузки 4.3:Вы также можете сбросить
id
атрибут в этом массиве.источник
Как упоминалось в последнем постере, вы можете добавить свои собственные классы через внешний вид> меню с отмеченными в настройках экрана классами CSS. В Walker вы можете получить доступ к тому, что вы там вводите через:
Я даже использовал это, чтобы добавить предварительно названные изображения в меню - немного странно, но это работает.
источник