我正在转换一个html网站到wordpress和有一个问题的菜单。我已经使用模板中的php代码创建了单独的菜单位置。
<div id="NavItems">
<?php
$args = array(
'theme-location' => 'primary',
);
wp_nav_menu($args);
?>
</div>
<div class="footerNav">
<h3>Services</h3>
<?php
$args = array(
'theme-location' => 'footerServ',
);
wp_nav_menu($args);
?>
</div>functions.php有这样的代码
function register_my_menus() {
register_nav_menus(array(
'primary' => __('Primary Menu'),
'footerServ' => __('Footer Services'),
'footerWork' => __('Footer Our Work'),
'footerLegal' => __('Footer Legal'),
'footerInc' => __('Footer Inc'),
));
}
add_action( 'init', 'register_my_menus' );主菜单配置如下所示- 主菜单Wordpress Config
页脚菜单配置如下所示- FooterMenu Wordpress Config
生成的html如主菜单所示
<nav role="navigation" id="MainNav" class="group">
...
<div id="NavItems">
<div class="menu-footer-services-container">
<ul id="menu-footer-services" class="menu">
<li id="menu-item-95" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-95">
<a href="http://localhost/wordpress/services/mold-manufacturing/">Mold Manufacturing</a>
</li>
<li id="menu-item-96" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-96">
<a href="http://localhost/wordpress/services/injection-molding/">Injection Molding</a>
</li>
<li id="menu-item-94" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-94">
<a href="http://localhost/wordpress/services/thermoforming/">Thermoforming</a>
</li>
<li id="menu-item-93" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-93">
<a href="http://localhost/wordpress/services/plastic-fabrication/">Plastic Fabrication</a>
</li>
<li id="menu-item-91" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-91">
<a href="http://localhost/wordpress/services/custom-design/">Custom Design</a>
</li>
<li id="menu-item-92" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-92">
<a href="http://localhost/wordpress/services/assembly/">Assembly</a>
</li>
</ul>
</div>
</div>
...
页脚菜单有相同的类和ul。
我已经做了我能想到的所有事情,并且几乎肯定wordpress内部的配置是正确的,并且我的代码没有发现任何问题。
总之,我的主菜单正在被页脚菜单覆盖,尽管有不同的位置设置和名称。wordpress仪表板对我想要的东西有正确的配置。然而,结果显示我的主菜单有页脚菜单类,而不是“home”.它显示了‘模具制造’..。
我跟踪这个视频(在评论中)来设置我的导航,并跟踪他的行动。
这几乎就好像wordpress只允许我显示一个菜单,尽管我可以配置几个菜单。
提前感谢您的帮助。
发布于 2016-02-29 15:57:23
<div id="NavItems">
<?php
$args = array(
'theme-location' => 'primary',
);
wp_nav_menu($args);
?>
</div>看起来问题就在“主题-位置”中,如果改为“theme_location”,似乎会起作用。然而,我将坚持我的承诺,因为它将需要更多的时间来改变它回来,以实现同等的功能。如果有人感兴趣,解决办法如下
<div id="NavItems">
<ul>
<?php
$servMenu = wp_get_nav_menu_items('(wordpress number for your menu');
foreach ($servMenu as $item) {
$pages = get_pages();
$class = "";
foreach ($pages as $page) {
if ($page->post_title == $item->title) {
if (is_page($page->ID)) {
$class = "current-menu-item";
}
break;
}
} ?>
<li class="<?php echo $class; ?>">
<a href="<?php echo $item->url; ?>">
<?php echo $item->title; ?>
</a>
</li>
<?php }
?>
</ul>
</div>发布于 2016-02-23 08:48:49
在这样的args中使用menu_class,它将作为ul类菜单。
<div id="NavItems">
<?php
$args = array(
'theme-location' => 'primary',
'menu_class' => 'primary-class',
);
wp_nav_menu($args);
?>
</div>
<div class="footerNav">
<h3>Services</h3>
<?php
$args = array(
'theme-location' => 'footerServ',
'menu_class' => 'footer-class',
);
wp_nav_menu($args);
?>
</div>https://stackoverflow.com/questions/35561943
复制相似问题