我在functions.php中使用以下覆盖
function wp_nav_menu_attributes_filter($var) {
return is_array($var) ? array_intersect($var, array('current-menu-item')) : '';
}
add_filter('nav_menu_css_class', 'wp_nav_menu_attributes_filter', 100, 1);
add_filter('nav_menu_item_id', 'wp_nav_menu_attributes_filter', 100, 1);
add_filter('page_css_class', 'wp_nav_menu_attributes_filter', 100, 1);
这将删除wordpress添加到菜单项的类标记。现在我需要做的是将我自己的班级名称放入li标签,相反,任何人都可以快速填写我如何做到这一点,我已经搜索谷歌,也许我正在寻找它错了或什么不是我只是无法用functions.php文件来理解钩子系统....
使用上面的命令将我的html输出设为......
<ul id="menu-homemenu" class="list-group special">
<li><a href="#">Biography</a></li>
<li><a href="#">Selected Works</a></li>
<li><a href="#">Contact Us</a></li>
</ul>
答案 0 :(得分:0)
当然,在我发表评论之后,我想出来了......当这需要整晚才能得到它时感到厌恶......这个问题指出了我正确的方向 - How to add custom HTML to wp_nav_menu?
我添加了这个课程..
class Custom_Walker_Nav_Menu extends Walker_Nav_Menu {
function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {
$output .= "<li class='list-group-item'><a href=".esc_attr($item->url).">".esc_attr($item->title)."</a>";
}
function end_el( &$output, $item, $depth = 0, $args = array() ) {
$output .= "</li>\n";
}
}
然后将其添加到我的数组中,我在模板中调用了导航...
<?php wp_nav_menu(array('menu' => 'HomeMenu','menu_class' => 'list-group special','menu_id' => '','walker' => new Custom_Walker_Nav_Menu)); ?>