更改wordpress中的子菜单类

She*_*ixt 2 php wordpress

wp_nav_menu在我的主题中使用时,我想为sub-menu包含子列表的项目更改Worpdress的默认类(dropdown以适合Foundation框架).

我已经回顾了关于该主题的这篇文章,但我似乎无法让它正常运行.

在我的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";
  }
}
Run Code Online (Sandbox Code Playgroud)

在我的header.php档案中,我有:

<?php
    $defaults = array(
        'theme_location'  => 'header-nav',
        'menu_class'      => 'right',
        'walker'          => new My_Sub_Menu(),
        'container'       =>  false
    );
    wp_nav_menu( $defaults );
?>
Run Code Online (Sandbox Code Playgroud)

但什么都没发生.我误解了插入代码的位置吗?

SMa*_*yen 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";
  }
}
Run Code Online (Sandbox Code Playgroud)