2010-09-13 33 views
3

我正在建立一个网站,使用大型下拉样式菜单,这是使用包含嵌套ul子菜单周围的div。WordPress的:自定义输出的wp_nav_menu,添加一个div之前嵌套ul

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

有两个参数,这些参数

“前” =>“”, “后” =>“”,

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

如果您有任何指示或已经完成,我会很感激。

干杯,

戴夫

回答

11

管理排序这个问题!

使用自定义沃克(你把你的主题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"; 
} 

} 

,然后包括它的wp_nav_menu数组中,如下

'walker' => new Walker_Page_Custom 

希望这可以帮助别人!

Dave

+0

不要忘记start_el和end_el方法! – 2013-01-25 20:09:40

相关问题