Câu trả lời:
Nếu bạn biết sên của menu, mọi thứ sẽ dễ dàng hơn, nếu không bạn có thể sử dụng chức năng này để lấy menu ở một vị trí được chỉ định.
<?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;
}
?>
Sau đó
//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
Hoặc, thay vì lặp lại html, bạn có thể chuyển nó như một phần của đối số cho thuộc tính items trong wp_nav_menu
.
Ví dụ: để hiển thị menu tại vị trí 'chính':
$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>') );
thay thế id 4 dưới đây bằng id của menu của bạn. nếu bạn không biết id đi vào trang menu của quản trị viên, nhấp chuột phải vào tab của menu bạn muốn lặp lại tiêu đề cho, kiểm tra elemenent và id sẽ được liệt kê dưới dạng menu = ID trong liên kết.
<?
$_menu_object = wp_get_nav_menu_object( 4 );
$nav_menu_selected_title = $_menu_object->name;
echo $nav_menu_selected_title;
?>
câu trả lời của stephen là tốt. nhưng tôi đã tiến một bước xa hơn:
<?php
$location = 'footer_navigation3';
if (has_nav_menu($location)) :
$menu_obj = get_menu_by_location($location);
wp_nav_menu( array(
'theme_location' => $location,
'items_wrap'=> '<strong>'.esc_html($menu_obj->name).'</strong><ul id="%1$s" class="%2$s">%3$s</ul>'
));
endif;
?>
giả sử bạn đã đăng ký một vị trí chủ đề được gọi là "footer_navlation3" và gán một menu wp cho điều đó. Bây giờ đặt mã này bất cứ nơi nào bạn muốn hiển thị menu của bạn.