如何获取当前菜单项“css类”的值?

时间:2014-05-06 作者:Tai Sem

在任何具有CSS类值的给定链接上,我想做如下操作:

$css_classes = get_current_menu_item_css_classes();    
if ( $css_classes == \'mycustomclass\' ) : // do something
谢谢

enter image description here

2 个回复
SO网友:JMau

不知道它是否正是您要查找的内容,但此短片段将自定义类添加到nav菜单项:

add_filter(\'nav_menu_css_class\' , \'wpse_143574_nav_class\' , 10 , 2);
function wpse_143574_nav_class($classes, $item){

         $classes[] = "my-class";

     }
     return $classes;
}
这也可以用一些条件标记进行修改。

EDIT: $item 通常很有用,例如if ( $item->title == \'Contact\')

SO网友:ghoul

您可以这样做:

// where "Top" is menu name, slug or id. But not menu location.
$menu_items = wp_get_nav_menu_items( \'Top\' );

foreach ( $menu_items as $menu_item ) {
  $menu_classes = $menu_item->classes;

  foreach ( $menu_classes as $menu_class ) {
    if ( \'mycustomclass\' === $menu_class ) {
        return true;
    }
  }
}

结束

相关推荐

How to add taxonomy in menus?

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