给定nav_menu_item
对象,如何确定与其关联的菜单的名称?
我在我的主题中定义了两个菜单,以及nav_menu_css_class
滤器在过滤器中,我只想向其中一个菜单添加类。如果我可以使用$item
变量我可以确保我只在特定菜单上执行操作。
给定nav_menu_item
对象,如何确定与其关联的菜单的名称?
我在我的主题中定义了两个菜单,以及nav_menu_css_class
滤器在过滤器中,我只想向其中一个菜单添加类。如果我可以使用$item
变量我可以确保我只在特定菜单上执行操作。
传递给过滤器的第三个参数是$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] =>
)
显然,这些菜单的值各不相同,永远不要假设其中一个菜单总是非空的,但希望您能够区分不同的菜单。书籍(自定义帖子类型)小说(税)科学(税)历史(税)--书籍体裁(税务)小说(术语)科学(学期)历史(学期)以下哪一项是做这件事的“好方法”?对于前一个(这是我目前在管理菜单中的功能,我为每个功能都提供了“register\\u taxonomy”功能),我无法选择要在菜单中显示的“Tax”。而对于后者,我可以将它们添加到菜单中,只需要一个“register\\u taxonomy”函数。