Mam niestandardowe menu, które mogę dobrze wywołać za pomocą wp_nav_menu. Czy istnieje sposób wyświetlania nazwy menu wewnątrz znacznika h3 przed menu?
Dawny.
<h3>My Menu Name</h3>
<nav>
<ul>
<li>Menu Item 1</li>
<li>Menu Item 2</li>
</ul>
</nav>
Mam niestandardowe menu, które mogę dobrze wywołać za pomocą wp_nav_menu. Czy istnieje sposób wyświetlania nazwy menu wewnątrz znacznika h3 przed menu?
Dawny.
<h3>My Menu Name</h3>
<nav>
<ul>
<li>Menu Item 1</li>
<li>Menu Item 2</li>
</ul>
</nav>
Jeśli znasz ślimak menu, rzeczy są łatwiejsze, w przeciwnym razie możesz użyć tej funkcji, aby uzyskać menu w określonej lokalizacji.
<?php
function wpse45700_get_menu_by_location( $location ) {
if( empty($location) ) return false;
$locations = get_nav_menu_locations();
if( ! isset( $locations[$location] ) ) return false;
$menu_obj = get_term( $locations[$location], 'nav_menu' );
return $menu_obj;
}
?>
Następnie
//if you after the menu the menu with a specific ID / Slug
//$menu_obj =wp_get_nav_menu_object($id_slug_or_name);
//if you after the menu at a specific location
$menu_obj = wpse45700_get_menu_by_location($location);
echo "<h3>".esc_html($menu_obj->name)."</h3>";
//Display menu here
Lub zamiast echa HTML, możesz przekazać go jako część argumentu atrybutu items w wp_nav_menu
.
Na przykład, aby wyświetlić menu w lokalizacji „podstawowej”:
$location = 'primary';
$menu_obj = wpse45700_get_menu_by_location($location );
wp_nav_menu( array('theme_location' => $location, 'items_wrap'=> '<h3>'.esc_html($menu_obj->name).'</h3><ul id=\"%1$s\" class=\"%2$s\">%3$s</ul>') );
zastąp id 4 poniżej identyfikatorem swojego menu. jeśli nie znasz identyfikatora, przejdź do strony menu administratora, kliknij prawym przyciskiem myszy kartę menu, dla której chcesz wyświetlić echo tytułu, sprawdź elemenent, a identyfikator zostanie wyświetlony jako link = menu = ID.
źródło
odpowiedź Stephena jest dobra. ale stawiam o krok dalej:
zakładając, że masz zarejestrowaną lokalizację motywu o nazwie „footer_navigation3” i przypisałeś do niej menu wp. teraz umieść ten kod w dowolnym miejscu, w którym chcesz wyświetlić menu.
źródło