wp_nav_menu (), как изменить класс <li>?
-
-
Здесь вы можете добавить другой класс в ul> li> a https://sdtuts.com/wordpress-add-custom-class-in-wp_nav_menu-links/Here you can add different class in ul > li >a https://sdtuts.com/wordpress-add-custom-class-in-wp_nav_menu-links/
- 0
- 2018-06-09
- Rameez SOOMRO
-
4 ответ
- голосов
-
- 2011-12-26
Используйте пользовательский ходунок ,удалите все,что вам не нужно,идобавьте свои классы.Вот средство передвижения,которое я использую,чтобы получить список с чистой разметкой: T5_Nav_Menu_Walker_Simple .
Вы также можете отфильтровать
'nav_menu_css_class'
или'wp_nav_menu_items'
.Но,на мой взгляд,класс пешеходов легче понять и контролировать.Use a custom walker, remove anything you don’t need and add your classes. Here is a walker I use to get a list with clean markup: T5_Nav_Menu_Walker_Simple.
Your could also filter
'nav_menu_css_class'
or'wp_nav_menu_items'
. But a walker class is easier to understand and to control in my opinion.-
Спасибо,Тошо,я просто обнаружил,что в новой версии Wordpress (3.3) мы можем добавить собственный класс для каждого пункта меню,который вроде как решает мою проблему.Я попробовал сценарий,который вы мне предложили (T5_Nav_Menu_Walker_Simple),который удаляет все из `
- `,как мы можем контролировать,какие элементы мы хотим сохранить?
Thanks Toscho, I just find that in the new version of Wordpress (3.3) we can add custom class fir each menu items wich kind of solve my problem. I tried the script you suggested to me (T5_Nav_Menu_Walker_Simple) which does strip everything from the `- `, how can we control which elements we want to keep?
- 0
- 2011-12-26
- Christian
-
@Christian. Вы можете изменить ходунок по своему усмотрению,это просто очень простой пример.Чтобы увидеть,какая информация доступна,добавьте `print_r ($item,TRUE)` к каждому `li`.Затем решите,что с ним делать.:)@Christian You can change the walker as you need, it is just a very basic example. To see which information is available, add a `print_r( $item, TRUE )` to each `li`. Then decide what to do with it. :)
- 1
- 2011-12-26
- fuxia
-
Это указывало мне в правильном направлении,мне было нужно ** wp_nav_menu **,** но ** мне нужно было изменить параметр 'container_class',чтобы он работал в моем конкретном случае использования,где я при некоторых условиях поменял местами основнойменю для другого,но нужно,чтобы классы были согласованы для css.This pointed me in the right direction, what I needed was the **wp_nav_menu**, **but** I needed to change the 'container_class' parameter, to work for my particular use case, where I on some condition swapped the main menu for another one, but needed the classes to be consistent for css.
- 0
- 2018-01-25
- D. Dan
-
- 2012-09-22
перейти к внешнему виду> меню - выберите нужное меню - перейдите в «параметры экрана» вверху справа,выберите «классы css» - добавьте класс в каждый пункт меню ..
go to appearance > menus - select the menu you want - go to "screen options" at the top right, select "css classes" - add a class to each menu item..
-
- 2019-04-22
Установка для класса
<li>
значенияnav-link
,поскольку это необходимо для начальной загрузки 4.3:function add_menu_link_class($atts, $item, $args) { $atts['class'] = 'nav-link'; return $atts; } add_filter('nav_menu_link_attributes', 'add_menu_link_class', 1, 3);
Вы также можете отключить атрибут
id
в этом массиве.Setting the
<li>
class tonav-link
, as bootstrap 4.3 needs it:function add_menu_link_class($atts, $item, $args) { $atts['class'] = 'nav-link'; return $atts; } add_filter('nav_menu_link_attributes', 'add_menu_link_class', 1, 3);
You can also unset the
id
attribute in that array. -
- 2013-06-13
Как упоминалось на последнем плакате,вы можете добавлять свои собственные классы через внешний вид> меню с классами CSS,отмеченными в параметрах экрана.В Walker вы можете получить доступ к тому,что вы там вводите,через:
$item_output .= '<a'. $attributes .' class="'. $item->classes[0].'">';
Я даже использовал это для добавления предварительно названных изображений в меню - немного странно,но это работает.
<img src="theme/images/navigation/'.$item->classes[0].'" width="48" height="48">
As the last poster mentioned, you can add your own classes via appearance > menus with CSS classes ticked in the screen options. In the walker, you can access what you enter there via:
$item_output .= '<a'. $attributes .' class="'. $item->classes[0].'">';
I have even used this to add pre-named images in the menu - a little flakey, but it works.
<img src="theme/images/navigation/'.$item->classes[0].'" width="48" height="48">
Я создаю меню для своего веб-сайта. Статика выглядит так:
Мне удалось понять,как настроить тег
<ul>
,чтобы избавиться от автоматического тега<div>
. Но теперь я хочу настроить тег<li>
,чтобы иметь возможность назначать другое имяclass
для управления определенным поведением через CSS. Когда я используюwp_nav_menu()
,результат выглядит следующим образом:Я хочу избавиться от
id
в тегах<li>
и изменитьclass
,чтобы отразить имя страницы. Я хочу сделать ссылку на. По сути,я хочу вывести то же,что и первый фрагмент кода в этом посте.Причина,по которой я это делаю,заключается в том,что я использую собственные изображения,которые контролируются моим CSS,состоящим из простого текста.
Возможно ли это? Какую стратегию мне следует использовать для решения этой проблемы?