WP navigation list classes

时间:2011-03-25 作者:Wordpressor

我正在使用此代码显示我的菜单:

<?php 

$menu_args = array(
     \'container\'       => \'\', 
     \'menu_class\'      => \'\', 
     \'menu_id\'         => \'main-menu\',
     );

wp_nav_menu($menu_args ); 

?>
它工作得很好,但我不知道如何摆脱菜单中每一个li所附带的所有这些类?

示例:

<li id="menu-item-227" class="menu-item menu-item-type-post_type current-menu-item page_item page-item-77 current_page_item menu-item-227">
很长,不是吗?

我根本不需要类,甚至不需要ID,因为我的菜单已经有了。

有什么想法吗?

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

您可以使用nav_menu_css_class 用于删除类的筛选器挂钩:

add_filter(\'nav_menu_css_class\' , \'my_nav_menu_remove_class\' , 10 , 2);
function my_nav_menu_remove_class($classes, $item){
    $my_class = array(\'menu-item-class\');
    return $my_class;
}

SO网友:helenhousandi

好了,您必须编写自己的自定义walker来删除那些讨厌的类和ID。我可以为你写一些东西(在我自己的待办事项清单上),但这可能会帮助你开始:http://www.kriesi.at/archives/improve-your-wordpress-navigation-menu-output/

SO网友:Aaron T Grogg

nav_menu_css_class 仅适用于自定义菜单,对于标准菜单,您还需要将该功能应用于page_css_class 还有钩子。

冒着看起来令人讨厌的风险,我还提供了一个小插件,它完全符合您所说的内容:http://aarontgrogg.com/2011/09/28/wordpress-plug-in-navigation-menu-ids-classes/

它甚至可以让您选择要保留的WP类中的哪一个(如果有的话)(例如,所有反映您当前查看的页面的类都可以方便地满足您的CSS需求)。

干杯,Atg

结束

相关推荐

Menu API not switching menus?

我正在使用菜单API,我想切换到其他菜单,但出于某种原因,它保留了第一个菜单这是我的密码在函数中。php add_action( \'init\', \'register_my_menus\',10 ); function register_my_menus() { register_nav_menu(\'main-navigation\', \'Main Navigation\'); } 下面是我的主题文件(header.ph