个性化阅读
专注于IT技术分析

WordPress主菜单在我的主题中出现了两次,为什么?

我对使用BootStrap CSS框架的以下WordPress自定义主题感到疯狂:http://onofri.org/WP_BootStrap/

如你所见, 我的标题中的水平主菜单有问题。

为了创建具有经典BootStra风格的WP动态主菜单, 我使用wp-bootstrap-navwalker.php类, 在可以阅读的文档之后将其插入我的主题中:https://github.com/twittem/wp-bootstrap -navwalker

因此, 根据以前的文档, 我已经执行了以下操作:

1)我已将** wp_bootstrap_navwalker.php **类放在自定义主题的根目录下

2)我在我的functions.php文件中有此要求, 并在其中添加了以下代码:

// Register Custom Navigation Walker
require_once('wp_bootstrap_navwalker.php');

3)在我的header.php文件中, 插入以下代码:

<body>
    <!-- Header e barra di navigazione -->
    <header>
        <nav class="navbar navbar-default">
            <!-- Brand and toggle get grouped for better mobile display -->
            <div class="container">

                <div class="navbar-header">

                    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-responsive-collapse">

                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                    </button>

                    <a class="navbar-brand" href="<?php echo home_url(); ?>">
                        <?php bloginfo('name'); ?>
                    </a>
                </div>

                <?php
                    wp_nav_menu(array(
                        'menu' => 'primary', 'theme_location' => 'primary', 'depth' => 2, 'container' => 'div', /*'container_class' => 'navbar navbar-default', */
                        'menu_class' => 'nav navbar-nav', 'fallback_cb' => 'wp_bootstrap_navwalker::fallback', 'walker' => new wp_bootstrap_navwalker())
                    );
                ?>

            </div>
    </nav>
    </header><!-- /header -->

4)最后, 我已经在主题中注册了导航菜单, 并将此代码放入我的functions.php文件中:

register_nav_menus(array(
    'primary' => __('Primary Menu', 'THEMENAME'), ) );

好的, 正如你所看到的, 我可以看到主菜单, 但是我看到了两次:一种是正确的可视化效果(一种带有红色背景), 但是在主菜单上方出现了第二个, 我不明白为什么(我从未两次声明过) )

你对这个问题有想法吗?我该如何解决?

特纳克斯

安德里亚


#1


在你的代码源中, 我可以看到在页面中调用的2个菜单。你要删除的菜单是页面中首先调用的菜单之一。它属于这个div:

如果你不希望使用填充/边距, 则简单的方法是将其添加到CSS中:

.navbar-collapse.collapse {
display: none;
}

但是请查看你的页面源代码, 你所有的代码都在<!DOCTYPE html>标记之前

<div class="collapse navbar-collapse navbar-ex1-collapse"><ul id="menu-menu-1" class="nav navbar-nav"><li id="menu-item-12" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-home menu-item-12 active"><a title="Home" href="http://onofri.org/WP_BootStrap/">Home</a></li>
<li id="menu-item-13" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-13"><a title="Sample Page" href="http://onofri.org/WP_BootStrap/?page_id=2">Sample Page</a></li>
<li id="menu-item-15" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15"><a title="Google" href="http://google.com">Google</a></li>
</ul></div>

这是你需要删除的内容。这段代码比你在帖子中复制的代码高出很多, 它也可能位于header.php文件中, 具体取决于主题的组织方式。这是页面中调用的第一件事。


#2


检查并确保你的wp_nav_menu函数调用未在” functions.php”文档和header.php文件中都列出。

我遇到了同样的问题, 直到我从” functions.php”中删除了wp_nav_menu函数并将其(以及参数)仅包含在我的header.php文件中。我仍在我的functions.php文件中执行以下操作:

add_theme_support(‘menus’); register_nav_menu(‘primary’, ‘Primary Menu’);

但是现在在我的header.php文件中, 剩下的东西放了进去:

<?php
$defaults = array(
  'theme_location'  => 'primary', 'menu'            => 'primary', 'container'       => "nav", 'container_class' => false, 'container_id'    => '', 'menu_class'      => 'navigation', 'menu_id'         => '', 'echo'            => true, 'items_wrap'      => '<ul class="%2$s">%3$s</ul>', 'depth'           => 0, );
wp_nav_menu( $defaults );
?>
赞(0)
未经允许不得转载:srcmini » WordPress主菜单在我的主题中出现了两次,为什么?

评论 抢沙发

评论前必须登录!