菜单中的Wordpress自定义链接不起作用

jja*_*ert 3 php wordpress

我正在使用空白主题模板创建wordpress主题,并通过将以下代码添加到header.php来启用菜单:

<body <?php body_class(); ?>>
    <div id="navbar"></div>

    <div id="wrapper" class="clear">

        <nav> 
                <?php wp_nav_menu( array('theme_location' => 'primary' ) ); ?>

        </nav>
Run Code Online (Sandbox Code Playgroud)

并将其添加到functions.php中:

if (function_exists('register_nav_menus')) {
    register_nav_menus(
        array(
            'main_nav' => 'Main Navigation Menu'
            )
        );
};
Run Code Online (Sandbox Code Playgroud)

当我向页面添加链接时,该菜单显示并正常工作,但是当我添加带有标签Google 的自定义链接说http://www.google.com时,导航栏中则没有任何显示。当我查看源代码时,自定义链接根本没有被填充。

用google.com测试

<nav>                  
       <div class="menu">
          <ul>
              <li class="page_item page-item-9"><a href="http://localhost/wordpress/anatomy/">Anatomy</a></li>
              <li class="page_item page-item-11"><a href="http://localhost/wordpress/history/">History</a></li>
              <li class="page_item page-item-7"><a href="http://localhost/wordpress/home/">Home</a></li>
          </ul>
       </div>
</nav>
Run Code Online (Sandbox Code Playgroud)

我的导航的CSS很简单:

    nav {
    padding:0;
    margin:0;
    position:absolute;
    width: 900px;
} 
nav ul li
    {list-style: none;
    font-family: 'Numans', sans-serif;
    font-size: 15px;
    color: #ffffff;
    text-align:left;
    text-transform: uppercase;
    padding: 0;
    margin: 0 30px;
    display: inline;
    position: relative;
    top:-32px;
}  
nav ul li a {
    text-decoration: none;
    color: #ffffff;
}
nav ul li a:visited 
    {color: #ffffff;
}
nav ul li a:hover
    {color: #cccccc;
}
nav ul li a:active 
    {color: #ffffff;
}
Run Code Online (Sandbox Code Playgroud)

我对php和wordpress主题非常陌生,但在网上找不到相同问题的人。

ran*_*ame 5

问题是您theme_location的名称与注册菜单时分配的名称不匹配。

注册菜单时,您将其称为main_nav。既然您调用了它,那么为了显示该菜单,您需要将对菜单的调用更改为reference main_nav,如下所示:

wp_nav_menu( array('theme_location' => 'main_nav' ) );