在我的主题中使用wp_nav_menu
时,我想为包含子列表的项目更改Worpdress的默认sub-menu
类(到dropdown
以适合Foundation框架)。< / p>
我已就该主题进行了审核this post,但似乎无法使其正常运作。
在我插入的functions.php
文件中:
class My_Sub_Menu extends Walker_Nav_Menu {
function start_lvl(&$output, $depth) {
$indent = str_repeat("\t", $depth);
$output .= "\n$indent<ul class=\"dropdown\">\n";
}
}
在我的header.php
文件中,我有:
<?php
$defaults = array(
'theme_location' => 'header-nav',
'menu_class' => 'right',
'walker' => new My_Sub_Menu(),
'container' => false
);
wp_nav_menu( $defaults );
?>
但没有任何事情发生。我误解了插入代码的位置吗?
答案 0 :(得分:9)
是不是因为您没有为end_lvl
指定class My_Sub_Menu extends Walker_Nav_Menu
?
class My_Sub_Menu extends Walker_Nav_Menu {
function start_lvl(&$output, $depth) {
$indent = str_repeat("\t", $depth);
$output .= "\n$indent<ul class=\"dropdown\">\n";
}
function end_lvl(&$output, $depth) {
$indent = str_repeat("\t", $depth);
$output .= "$indent</ul>\n";
}
}