我正在使用空白主题模板创建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时,导航栏中则没有任何显示。当我查看源代码时,自定义链接根本没有被填充。
<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主题非常陌生,但在网上找不到相同问题的人。
问题是您theme_location的名称与注册菜单时分配的名称不匹配。
注册菜单时,您将其称为main_nav。既然您调用了它,那么为了显示该菜单,您需要将对菜单的调用更改为reference main_nav,如下所示:
wp_nav_menu( array('theme_location' => 'main_nav' ) );
| 归档时间: |
|
| 查看次数: |
8540 次 |
| 最近记录: |