的标记wp_nav_menu
可以使用完全自定义Walker
班
以下是我使用的代码:
功能。php
class Walker_Menu extends Walker {
var $db_fields = array(
\'parent\' => \'menu_item_parent\',
\'id\' => \'db_id\'
);
function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {
if (is_front_page()) {
$output .= sprintf( "\\n<li id=\'menu-item-%s\'><a href=\'%s\'>%s</a></li>\\n",
sanitize_title($item->title),
$item->url,
$item->title
);
}
else {
$output .= sprintf( "\\n<li id=\'menu-item-%s\'%s><a href=\'%s\'>%s</a></li>\\n",
sanitize_title($item->title),
( $item->object_id == get_the_ID() ) ? \' class="current-menu-item"\' : \'class="non-current-menu-item"\',
$item->url,
$item->title
);
}
}
}
标题。php
wp_nav_menu(array(
\'menu\' => \'Main Menu\',
\'walker\' => new Walker_Menu()
));
它将类非当前菜单项添加到除当前菜单项之外的每个li元素中,并且不会在首页上这样做。
非常感谢dingo\\u d指出了这个班级!