我的网站的菜单使用“外观>>菜单”下的内置菜单。我想做一个非常简单的更改:我想把菜单中的每一个二级ul都包装在一个DIV中。
最简单的方法是什么?
我的网站的菜单使用“外观>>菜单”下的内置菜单。我想做一个非常简单的更改:我想把菜单中的每一个二级ul都包装在一个DIV中。
最简单的方法是什么?
使用custom walker. 扩展功能start_lvl()
和end_lvl()
:
class WPSE39005_Div_Walker extends Walker_Nav_Menu
{
/**
* @see Walker::start_lvl()
*
* @param string $output Passed by reference. Used to append additional content.
* @return void
*/
public function start_lvl( &$output, $depth )
{
$output .= \'<div><ul class="sub-menu">\';
}
/**
* @see Walker::end_lvl()
*
* @param string $output Passed by reference. Used to append additional content.
* @return void
*/
public function end_lvl( &$output, $depth )
{
$output .= \'</ul></div>\';
}
}
在你的主题中这样称呼它:<?php
// If there is no menu assigned we show nothing.
has_nav_menu( \'top-menu\' )
// Path to the file with the walker relative to theme’s root.
and locate_template( \'php/class.WPSE39005_Div_Walker.php\', TRUE, TRUE )
and wp_nav_menu(
array (
\'menu\' => \'top-menu\'
, \'walker\' => new WPSE39005_Div_Walker
)
);
?>
我正在使用菜单API,我想切换到其他菜单,但出于某种原因,它保留了第一个菜单这是我的密码在函数中。php add_action( \'init\', \'register_my_menus\',10 ); function register_my_menus() { register_nav_menu(\'main-navigation\', \'Main Navigation\'); } 下面是我的主题文件(header.ph