在WordPress 3主题中启用菜单

6
我是一个 WordPress 新手。
我正在制作一个新的 WordPress 主题。我正在使用 3.3.1 版本。我已经阅读到,为了制作菜单,我应该使用每个主题的 "菜单" 部分:

http://awesomescreenshot.com/01atql42e

但是当我激活我自己创建的主题时,这个选项就不再出现了。

http://awesomescreenshot.com/0f0tqmhc6

我错过了什么?
2个回答

9

我没有使用任何代码,因为我不知道如何做(无论是旧版还是新版的WordPress):) - Enrique Moreno Tent
你发给我的链接上写着“在外观→菜单面板中创建并显示导航菜单”,但我遇到的问题是我找不到这个面板! - Enrique Moreno Tent
除非您的主题已设置支持菜单,否则您将看不到面板。旧版主题不支持此功能,因此您需要进行转换。 - thenetimp
我没有下载任何主题。这是我自己创建的一个主题,只有一个index.php、style.css和functions.php文件。我尝试添加“add_theme_support('menus')”,但没有任何效果。 - Enrique Moreno Tent
我以前见过那个 bug。在你的 functions.php 中加入这段代码,然后切换到另一个主题再切回来。它会在主题激活时被读取。 - thenetimp
显示剩余2条评论

6

鉴于您说您对编程没有经验,我为您准备了一些代码片段,供您插入到函数和标题文件中,但我建议您查看它们的创建方式,以便更加熟悉Wordpress的功能。就像thenetimp所说,您需要为您的主题添加菜单支持,这可以通过函数add_theme_support('menus')来完成,之后,您可以使用函数register_nav_menus( %menu array% )注册多个菜单,并在函数内部使用一个菜单数组,如下所示:

add_theme_support( 'menus' );
if ( function_exists( 'register_nav_menus' ) ) {
    register_nav_menus(
        array(
          'header-menu' => 'Header Menu',
          'footer-menu' => 'Footer Menu'
        )
    );
}

这个函数增加了主题对菜单的支持,并添加了单独的菜单“Header Menu”和“Footer Menu”,可以在主题中调用。为此,您可以使用函数wp_nav_menu(%menu name%)。无论您为“menu name”设置什么,WordPress都会在您网站的数据库中查找该菜单并显示其内容。因此,如果您想调用我们之前创建的标题菜单,可以在header.php文件中使用以下代码:
 <?php wp_nav_menu( array(
                            'theme_location' => 'header-menu',
                            'container' =>'nav',
                            'menu_class' => 'menu header-menu'
                          )
                    ) ?>

这段代码将从位置“header-menu”获取菜单,将其包装在nav元素中,并赋予它类“menu header-menu”(这在样式菜单时很有帮助)。我只展示了一些选项,以免让您感到困惑,但如果您好奇,可以在WordPress的文档网站(link)上找到更多信息。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接