在没有插件的情况下向我的网站添加“超级菜单”

时间:2012-08-28 作者:V Neal

有谁能建议在我的wordpress导航中添加“大菜单”而不使用插件的最佳方式吗?

mega菜单中的内容本身不需要通过CMS进行编辑,但是当用户将鼠标悬停在主导航中的某个li上时,需要激活。

我看过谷歌,但一切都是为了插件路线,我想避免。

谢谢

2 个回复
SO网友:Geert

我只想指出如何插入超大下拉菜单的HTML,然后由您来设置样式和动画。

挖掘周围wp-includes/nav-menu-template.php 查找不同的有用过滤器,以修改在管理区域中创建的导航菜单。我选择了walker_nav_menu_start_el 分别应用于每个菜单项的筛选器。创建锚定标记后,可以在结束列表项之前插入更多HTML。

add_filter( \'walker_nav_menu_start_el\', \'wpse63345_walker_nav_menu_start_el\', 10, 4 );

function wpse63345_walker_nav_menu_start_el( $item_output, $item, $depth, $args ) {
    // The mega dropdown only applies to the main navigation.
    // Your theme location name may be different, "main" is just something I tend to use.
    if ( \'main\' !== $args->theme_location )
        return $item_output;

    // The mega dropdown needs to be added to one specific menu item.
    // I like to add a custom CSS class for that menu via the admin area.
    // You could also do an item ID check.
    if ( in_array( \'mega-dropdown\', $item->classes ) ) {
        $item_output .= \'<div class="mega-dropdown">Your custom HTML</div>\';
    }

    return $item_output;
}

SO网友:keatch

如果不想使用插件,可以使用的HTML版本JQuery Mega DropDown Menu在这种情况下,您必须通过代码管理菜单项!

结束

相关推荐

Wordpress Custom Menus Issue

在我的模板中,我使用这样的调用来输出一些自定义菜单:<?php wp_nav_menu(array(\'container_class\' => \'secondary-navigation\', \'theme_location\' => \'secondary\')); ?> 自从升级到WordPress 3.1.4后,我就可以获得完整的页面列表,而不是自定义菜单我看到修复程序(通过谷歌)说我应该添加以下内容来修复此问题:\'fallback_cb\' => f