首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wordpress菜单问题-第二个菜单覆盖第一个

Wordpress菜单问题-第二个菜单覆盖第一个
EN

Stack Overflow用户
提问于 2016-02-22 19:15:07
回答 2查看 1.1K关注 0票数 0

我正在转换一个html网站到wordpress和有一个问题的菜单。我已经使用模板中的php代码创建了单独的菜单位置。

代码语言:javascript
复制
<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有这样的代码

代码语言:javascript
复制
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如主菜单所示

代码语言:javascript
复制
<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只允许我显示一个菜单,尽管我可以配置几个菜单。

提前感谢您的帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-29 15:57:23

代码语言:javascript
复制
<div id="NavItems">
        <?php
            $args = array(
                'theme-location' => 'primary', 
            );
            wp_nav_menu($args);
        ?>
    </div>

看起来问题就在“主题-位置”中,如果改为“theme_location”,似乎会起作用。然而,我将坚持我的承诺,因为它将需要更多的时间来改变它回来,以实现同等的功能。如果有人感兴趣,解决办法如下

代码语言:javascript
复制
<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>
票数 1
EN

Stack Overflow用户

发布于 2016-02-23 08:48:49

在这样的args中使用menu_class,它将作为ul类菜单。

代码语言:javascript
复制
<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>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35561943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档