如何将图像添加到主导航菜单

时间:2012-07-05 作者:neo

我有一个导航菜单,但我需要能够有多个状态的背景图像。多个链接状态将有一个背景图像:正常、悬停和当前。实现我所需的最好方法是什么?

2 个回复
SO网友:Jonathan

你可能想看看沃克的课程。我用它向WordPress创建的菜单添加了向下箭头,并添加了我自己的css div和sections。也许您可以使用Walker菜单添加一个框,然后将其背景设置为某个图像:悬停等。。。

class My_Walker extends Walker_Nav_Menu
{
function start_el(&$output, $item, $depth, $args) {
    global $wp_query;
    $indent = ( $depth ) ? str_repeat( "\\t", $depth ) : \'\';

    $class_names = $value = \'\';

    $classes = empty( $item->classes ) ? array() : (array) $item->classes;

    $class_names = join( \' \', apply_filters( \'nav_menu_css_class\', array_filter( $classes ), $item ) );
    $class_names = \' class="\' . esc_attr( $class_names ) . \'"\';

    $output .= $indent . \'<li id="menu-item-\'. $item->ID . \'"\' . $value . $class_names .\'>\';

    $attributes  = ! empty( $item->attr_title ) ? \' title="\'  . esc_attr( $item->attr_title ) .\'"\' : \'\';
    $attributes .= ! empty( $item->target )     ? \' target="\' . esc_attr( $item->target     ) .\'"\' : \'\';
    $attributes .= ! empty( $item->xfn )        ? \' rel="\'    . esc_attr( $item->xfn        ) .\'"\' : \'\';
    $attributes .= ! empty( $item->url )        ? \' href="\'   . esc_attr( $item->url        ) .\'"\' : \'\';

    $item_output = $args->before;
    $item_output .= \'<a\'. $attributes .\'>\';
    $item_output .= $args->link_before . apply_filters( \'the_title\', $item->title, $item->ID ) . $args->link_after;
    $item_output .= \'<br /><div class="sub">\' . $item->description . \'</div>\';
    $item_output .= \'</a>\';
    $item_output .= $args->after;

    $output .= apply_filters( \'walker_nav_menu_start_el\', $item_output, $item, $depth, $args );
}
}
如果您看到最后,我添加了一个类“sub”,以便添加自己的数据。一开始有点困惑,但这是一个非常强大的类。

http://codex.wordpress.org/Function_Reference/Walker_Class

SO网友:its_me

如果不一定要自由,我相信UberMenu - WordPress Mega菜单插件可以满足您的需要。

Features:

<与WordPress 3菜单系统集成在一起

响应式CSS&;jQuery菜单

20多个预设-或使用样式生成器

支持菜单项的图像和说明

添加小部件、短代码和;更多

它维护良好,响应迅速,拥有5星级买家评级,是CodeCanyon上的特色插件。大约18美元。

签出screenshots, 或者live preview.

结束

相关推荐

Admin menus and submenus

我为管理员创建了一个选项页面,并将其显示为顶级菜单->add_menu_page($themename, $themename, \'administrator\', basename(__FILE__), \'mytheme_admin\');我想在我创建的顶级菜单下添加一个子菜单,以显示完全相同的页面(显示为子菜单,但当用户单击顶级菜单时也会打开此页面)。此外,我不知道如何在这个顶级菜单下添加我创建的另一个主题页面。在这里询问之前,我已经阅读了wordpress文档,但无法完成。非常感谢。