0

我正在开发一个新的 Wordpress 主题,我需要两个菜单,主菜单和页脚菜单。这就是我在functions.php中的内容:

if ( function_exists('register_nav_menus')) {
    register_nav_menus(
        array(
            'main' => 'Main Menu',
            'footermenu' => 'Footer Menu'
        )
    );
}

而且,我正在调用两个菜单,一个在 header.php 中,另一个在 footer.php 中:

<?php $main_menu = array('menu' => 'main', 'container' => 'nav' ); wp_nav_menu( $main_menu ); ?>

<?php $footer_menu = array('menu' => 'footermenu', 'container' => 'nav' ); wp_nav_menu( $footer_menu ); ?>

我还在 Wordpress 菜单管理器中为这两个菜单分配了不同的菜单,但是在这两个菜单中,只显示了我分配给第一个菜单的菜单。我不知道为什么。有人可以帮我解决这个问题吗?

谢谢。

4

2 回答 2

0

好的,我已经解决了这个问题。而不是menu,我不得不使用theme_location,因为这代表从菜单管理面板中选择的菜单。

于 2015-04-10T22:04:47.560 回答
0

您可以使用数组来存储菜单名称,使用循环我们可以遍历数组并使用wp_nav_menu()函数来获取菜单。

<?php
            $menus = array('menu_about','menu_services','menu_facilities');
        ?>
        <nav  class="footer-navigation">
        <?php foreach ($menus as $value) { ?>
            <ul class="footer-navigation-wrapper">
                <?php
                     wp_nav_menu(array(
                    'menu'           => $value,
                    'items_wrap'     => '%3$s',
                    'container'      => false,                      
                    'link_before'    => '<div>',
                    'link_after'     => '</div>',
                    'fallback_cb'    => false,
                    ));
                    }
                ?>
            </ul>
    </nav>
于 2021-09-02T06:17:58.240 回答