获取当前菜单项的菜单名称或位置

时间:2014-06-04 15:06:52

标签: wordpress menu menuitem

我很难尝试获取活动菜单的名称,显然,我找不到任何解决此问题的方法。基本上,我有几个菜单遵循这种模式:

菜单名称

  • 菜单项1
  • 菜单项2
  • ...
  • 菜单项n

我想显示当前页面项的菜单名称,但我找不到任何方法。我尝试将get_nav_menu_locations()与get_term()结合使用:

$theme_locations = get_nav_menu_locations();
$menu_obj = get_term($theme_locations["menu_1"], 'nav_menu');
$menu_name = $menu_obj->name;

但是,我需要动态获取当前菜单的位置,在搜索答案/解决方案并找不到具体内容后,我只假设当前菜单项和菜单对象之间至少存在数据库关系分配给谁;从哪里我最终得到菜单位置/术语ID。

PS:我想在不使用JS的情况下输出活动菜单标题

1 个答案:

答案 0 :(得分:0)

我编写了一个解决方案,以突出显示WordPress中菜单中当前活动的超链接。这是一个简单的PHP代码段,用于检查您是否在指定的页面ID上。

示例#1:

<?php if (is_page(2) || is_page(25)){ ?> OUTPUT CLASS HERE, MENU NAME (Menu Item 1, Menu Item 2) OR ANYTHING ELSE<?php } ?>

示例#2(我如何使用它):

<li class="nav_b<?php if (is_page(2) || is_page(25) || is_page(27) || is_page(30) || is_page(31)){ ?> current_page_item<?php } ?>"><a rel="external nofollow" class="app_tickets<?php if (is_page(2) || is_page(25) || is_page(27) || is_page(30) || is_page(31)){ ?> active<?php } ?>" href="/example-url/" onClick="_gaq.push(['_trackEvent', 'Tickets', 'Click', 'B', 1, false]);" title="Example Title">Example Hyperlink</a></li>

您可以轻松修改它以输出菜单名称!