从其ID获取菜单项标题
我需要获取顶级导航的标题。我已经知道顶级菜单项的ID,但我需要获得它的标题。如何做到这一点?从其ID获取菜单项标题
我现在有这样的菜单:
- 1级
- 级别2#1
- Level2的#2
- 级别2#3
,如果im上我有任何2级页面级别1 菜单项 ID。我需要在当前主题位置实例中获得标题。
<?php if(getTopSelectedMenu('primary')):
$topParent = intval(getTopSelectedMenu('primary'));
$topParentTitle = "";
?>
<div class="sidebar-menu-headline"><?=$topParentTitle?><i class="fa fa-arrow-down" aria-hidden="true"></i></div>
<?php
$args = array(
'menu' => '',
'menu_class' => 'sidebar-menu',
'container' => 'ul',
'theme_location' => 'primary',
'level' => 2,
'child_of' => $topParent,
'echo' => FALSE,
'fallback_cb' => '__return_false'
);
$submenu = wp_nav_menu($args);
if (! empty ($submenu))echo $submenu;
?>
使用以下函数通过传递菜单标识获取菜单标题。
Function: wp_get_nav_menu_object($menu) // $menu can be 'id','name' or 'slug'
Returns : Object (
term_id => 4
name => My Menu Name
slug => my-menu-name
term_group => 0
term_taxonomy_id => 4
taxonomy => nav_menu
description =>
parent => 0
count => 6
)
// in your case.
$menu = wp_get_nav_menu_object($topParent);
$menu_title = $menu->name;
您可以在这里找到更多信息。 https://codex.wordpress.org/Function_Reference/wp_get_nav_menu_object
要获得菜单标题,从ID使用下面的代码
if(getTopSelectedMenu('primary')){
$topParentId = intval(getTopSelectedMenu('primary'));
$menuLocations = get_nav_menu_locations(); // Get our nav locations (set in our theme, usually functions.php)
// This returns an array of menu locations ([LOCATION_NAME] = MENU_ID);
$menu = wp_get_nav_menu_object($menuLocations['primary']) ; // Get the *primary* menu object
$primaryNav = wp_get_nav_menu_items($menu->term_id); // Get the array of wp objects, the nav items for our queried location.
foreach ($primaryNav as $navItem) {
if ($navItem->ID == $topParentId) {
$topParentTitle = $navItem->title;
}
}
}
<div class="sidebar-menu-headline"><?=$topParentTitle?><i class="fa fa-arrow-down" aria-hidden="true"></i></div>
好的,让我澄清一下。我需要菜单项标题,而不是菜单名称。例如,如果我有> 1级菜单(id:1),>> 2级菜单(id:2),>> 2级菜单2(id:3)我目前有顶级菜单id(本例中为1 )。我需要从此导航实例中获得标题(级别1菜单) –
编辑我的答案。 –
谢谢。像魅力一样工作,只是批准我的小修补程序。另外,我爱你解释什么是什么:) –
https://wordpress.stackexchange.com/a/16337/121266 –
@AlivetoDie? –