更改wordpress中的子菜单类

时间:2013-10-31 10:32:44

标签: php wordpress

在我的主题中使用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 );
?>

但没有任何事情发生。我误解了插入代码的位置吗?

1 个答案:

答案 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";
  }
}