Wordpress:自定义wp_nav_menu的输出,在嵌套ul之前添加div

dav*_*all 3 navigation wordpress customization

我正在构建一个使用大型下拉式菜单的网站,该菜单的样式使用包含子菜单的嵌套ul周围的div.

有没有人知道如何自定义Wordpress(wp_nav_menu)生成的菜单的输出,以在嵌套的子菜单ul周围添加包含div?

有两个参数

'before'=>'',''=>''之后,

但不幸的是,这些只是在实际链接之前添加内容而不是整个子菜单.

如果您有任何指示或已经完成此操作之前我真的很感激它.

干杯,

戴夫

dav*_*all 11

管理来解决这个问题!

使用自定义walker(您放在主题functions.php文件中)如下所示添加包含div

class Walker_Page_Custom extends Walker_Nav_Menu {
/**
 * @see Walker::start_lvl()
 * @since 2.1.0
 *
 * @param string $output Passed by reference. Used to append additional content.
 * @param int $depth Depth of page. Used for padding.
 */
function start_lvl(&$output, $depth) {
    $indent = str_repeat("\t", $depth);
    $output .= "\n$indent<div class='sub'><div class='sub-top'><!-- --></div><!--sub-left --><div class='sub-mid'><ul>\n";
}

/**
 * @see Walker::end_lvl()
 * @since 2.1.0
 *
 * @param string $output Passed by reference. Used to append additional content.
 * @param int $depth Depth of page. Used for padding.
 */
function end_lvl(&$output, $depth) {
    $indent = str_repeat("\t", $depth);
    $output .= "$indent</ul><span class='clear'><!-- --></span></div><!--sub-mid --><div class='sub-bottom'><!-- --></div><!--sub-bottom --><span class='clear'><!-- --></span></div><!--sub -->\n";
}

}
Run Code Online (Sandbox Code Playgroud)

然后将其包含在wp_nav_menu数组中,如下所示

 'walker' => new Walker_Page_Custom
Run Code Online (Sandbox Code Playgroud)

希望这有助于某人!

戴夫