ฉันมีเมนูที่กำหนดเองที่ฉันสามารถโทรได้โดยใช้ wp_nav_menu มีวิธีที่จะแสดงชื่อเมนูในแท็ก h3 หน้าเมนูหรือไม่?
อดีต
<h3>My Menu Name</h3>
<nav>
<ul>
<li>Menu Item 1</li>
<li>Menu Item 2</li>
</ul>
</nav>
ฉันมีเมนูที่กำหนดเองที่ฉันสามารถโทรได้โดยใช้ wp_nav_menu มีวิธีที่จะแสดงชื่อเมนูในแท็ก h3 หน้าเมนูหรือไม่?
อดีต
<h3>My Menu Name</h3>
<nav>
<ul>
<li>Menu Item 1</li>
<li>Menu Item 2</li>
</ul>
</nav>
คำตอบ:
หากคุณรู้ทากของเมนูสิ่งต่าง ๆ จะง่ายขึ้นมิฉะนั้นคุณสามารถใช้ฟังก์ชั่นนี้เพื่อรับเมนูในตำแหน่งที่ระบุ
<?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;
}
?>
แล้วก็
//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
หรือมากกว่าก้อง HTML wp_nav_menu
คุณสามารถผ่านมันเป็นส่วนหนึ่งของการโต้แย้งสำหรับรายการแอตทริบิวต์ใน
ตัวอย่างเช่นหากต้องการแสดงเมนูที่ตำแหน่ง 'หลัก':
$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>') );
แทนที่ id 4 ด้านล่างด้วย id ของเมนูของคุณ หากคุณไม่ทราบว่า id เข้าสู่หน้าเมนูของผู้ดูแลระบบคลิกขวาที่แท็บของเมนูที่คุณต้องการสะท้อนชื่อตรวจสอบ elemenent และรหัสจะแสดงเป็นเมนู = ID ในลิงค์
<?
$_menu_object = wp_get_nav_menu_object( 4 );
$nav_menu_selected_title = $_menu_object->name;
echo $nav_menu_selected_title;
?>
คำตอบของสตีเฟ่นเป็นสิ่งที่ดี แต่ฉันเพิ่มอีกหนึ่งขั้นตอน:
<?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;
?>
สมมติว่าคุณได้ลงทะเบียนที่ตั้งของธีมที่ชื่อว่า "footer_navigation3" และกำหนดเมนู wp ให้กับที่นั้น ตอนนี้วางรหัสนี้ที่คุณต้องการแสดงเมนูของคุณ