检索NAV_MENU_ITEM的菜单名称

时间:2014-06-04 作者:CodeSmith

给定nav_menu_item 对象,如何确定与其关联的菜单的名称?

我在我的主题中定义了两个菜单,以及nav_menu_css_class 滤器在过滤器中,我只想向其中一个菜单添加类。如果我可以使用$item 变量我可以确保我只在特定菜单上执行操作。

1 个回复
最合适的回答,由SO网友:TheDeadMedic 整理而成

传递给过滤器的第三个参数是$args 用于wp_nav_menu:

function wpse_147499_nav_menu_css_class( $classes, $item, $args ) {
     print_r( $args );
     exit;
}

add_filter( \'nav_menu_css_class\', \'wpse_147499_nav_menu_css_class\', 10, 3 );
。。。这将为您提供:

stdClass Object
(
    [menu] => 
    [container] => 
    [container_class] => 
    [container_id] => 
    [menu_class] =>
    [menu_id] => 
    [echo] => 1
    [fallback_cb] => 
    [before] => 
    [after] => 
    [link_before] => 
    [link_after] => 
    [items_wrap] =>
    [depth] => 0
    [walker] => 
    [theme_location] =>
)
显然,这些菜单的值各不相同,永远不要假设其中一个菜单总是非空的,但希望您能够区分不同的菜单。

结束

相关推荐

How to add taxonomy in menus?

书籍(自定义帖子类型)小说(税)科学(税)历史(税)--书籍体裁(税务)小说(术语)科学(学期)历史(学期)以下哪一项是做这件事的“好方法”?对于前一个(这是我目前在管理菜单中的功能,我为每个功能都提供了“register\\u taxonomy”功能),我无法选择要在菜单中显示的“Tax”。而对于后者,我可以将它们添加到菜单中,只需要一个“register\\u taxonomy”函数。