在wordpress中是否有任何可能的方法来改变" li"没有使用沃克到wp_nav_menu()
'sub-menu' => 'dropdown',
我试过这样的事情,但它没有工作:
<?php
$args = array('theme_location' => 'navigate',
'container' => '',
'container_class' => 'none',
'menu_class' => 'nav middle navbar-nav',
'menu_id' => 'none',
'sub-menu' => 'dropdown',
);
wp_nav_menu( $args );
?>
我需要一个简单的解决方案,只是不要使用Walker。
答案 0 :(得分:1)
您可以使用一个钩子来更改菜单<li>
元素上的类:nav_menu_css_class
。
您的问题并未说明您正在尝试使用“下拉”课程。在我的示例中,我将'dropdown'类添加到嵌套菜单项。
/**
* Modify the classes applied to menu items in the 'navigate' menu.
*
* @param array $classes The CSS classes that are applied to the menu item's `<li>` element.
* @param WP_Post $item The current menu item.
* @param stdClass $args An object of wp_nav_menu() arguments.
* @param int $depth Depth of menu item. Used for padding.
*
* @return array
*/
function wpse_modify_nav_menu_item_classes( $classes, $item, $args, $depth ) {
// Only apply changes to the correct menu, 'navigate',
if ( 'navigate' !== $args->theme_location ) {
return $classes;
}
// Modify menu li classes here...
// Add 'dropdown' class to nested menu items.
if ( 1 <= $depth ) {
$classes[] = 'dropdown';
}
// We're using a filter so don't forget to return.
return $classes;
}
add_filter( 'nav_menu_css_class', 'wpse_modify_nav_menu_item_classes', 10, 4 );
答案 1 :(得分:1)
如果你想改变里面的ul的类名,试试这个。 将此代码放入主题的functions.php文件
function change_submenu_class_name($ submenu){
$ submenu = preg_replace('/ class =“sub-menu”/','/ class =“dropdown”/',$ submenu);
返回$ submenu;
}
的add_filter( 'wp_nav_menu', 'change_submenu_class_name');
或者,如果您想将课程添加到li,您可以从admin执行此操作,只需登录管理员并按照以下步骤操作: 转到外观 - &gt;菜单并执行此过程 http://prntscr.com/f98s4v
如果您有任何疑问,请告诉我。