Buduję menu dla mojej strony internetowej. Statyczny wygląda następująco:
<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>
Byłem w stanie zrozumieć, jak dostosować <ul>
tag, aby pozbyć się <div>
tagu automatycznego . Ale teraz chcę dostosować <li>
tag, aby móc przypisać inną class
nazwę, aby kontrolować określone zachowanie za pomocą CSS. Kiedy używam, wp_nav_menu()
dane wyjściowe są następujące:
<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>
Chcę pozbyć się id
w <li>
znacznikach i zmienić class
, aby odzwierciedlić nazwę strony chcę połączyć. Zasadniczo chcę wypisać to samo, co pierwszy fragment kodu w tym poście.
Powodem, dla którego to robię, jest to, że używam niestandardowych obrazów, które są kontrolowane przez mój CSS zamiast zwykłego tekstu.
czy to możliwe? Jaką strategię powinienem zastosować, aby rozwiązać ten problem?
theme-development
menus
navigation
chrześcijanin
źródło
źródło
Odpowiedzi:
Użyj niestandardowego chodzika , usuń wszystko, czego nie potrzebujesz i dodaj swoje zajęcia. Oto walker, którego używam, aby uzyskać listę z czystymi znacznikami: T5_Nav_Menu_Walker_Simple .
Możesz także filtrować
'nav_menu_css_class'
lub'wp_nav_menu_items'
. Ale moim zdaniem klasa chodzika jest łatwiejsza do zrozumienia i kontrolowania.źródło
<li>
, w jaki sposób możemy kontrolować, które elementy chcemy zachować?print_r( $item, TRUE )
do każdego z nichli
. Następnie zdecyduj, co z tym zrobić. :)przejdź do wyglądu> menu - wybierz żądane menu - przejdź do „opcji ekranu” w prawym górnym rogu, wybierz „klasy css” - dodaj klasę do każdej pozycji menu.
źródło
Ustawienie
<li>
klasy taknav-link
, jak potrzebuje bootstrap 4.3:Możesz także odznaczyć
id
atrybut w tej tablicy.źródło
Jak wspomniano w ostatnim plakacie, możesz dodawać własne klasy poprzez wygląd> menu z klasami CSS zaznaczonymi w opcjach ekranu. W walkerze możesz uzyskać dostęp do tego, co tam wprowadzasz:
Użyłem tego nawet do dodawania w menu wstępnie nazwanych obrazów - trochę płatkowych, ale działa.
źródło