WordPress菜单不显示

时间:2015-04-21 08:32:17

标签: php wordpress menu themes

我正在为客户开发一个定制的WordPress主题,我无法在任何页面(包括主页)和帖子上显示WP菜单!

外观>下的管理员后端菜单它完美无缺! 我也使用了我在所有主题中使用的完全相同的wp_menu数组。这是我的header.php文件中的代码

<div id="menu">
    <nav class="top-links" role="navigation">
        <?php
            wp_nav_menu(array(
                'menu'              => 'primary',
                'theme_location'    => 'primary',
                'depth'             => 2,
                'container'         => 'div',
                'container_class'   => 'top-links-nav',
                'fallback_cb'       => 'wp_bootstrap_navwalker::fallback',
                'walker'            => new wp_bootstrap_navwalker())
            );
        ?>
    </nav>
</div>

这是function.php文件中的代码......

/* Register the Nav Menu */
function register_my_menus() { 
    require_once('wp_bootstrap_navwalker.php');
    register_nav_menus(array( 
        'primary' => _( 'Primary Menu' ), 
        'header-top-menu' => _( 'Header Top Menu' ) 
    )); 
    } 
add_action( 'init', 'register_my_menus' ); 
/* End the Nav Menu */

我正在使用WordPress的4.1.1版本,我已经正确评论了我的所有文件!我知道这段代码确实有用,所以不知道为什么它不在这上面!

2 个答案:

答案 0 :(得分:1)

减少的测试用例应该让你开始:

<?php if ( has_nav_menu( 'primary' ) ) { ?>
    <?php wp_nav_menu( array( 
        'container' => 'div', 
        'container_class' => 'top-links-nav', 
        'theme_location' => 'primary' ) ); 
    ?> 
<?php } else { ?> 
    <h1>No Primary Menu</h1> 
<?php } ?>

答案 1 :(得分:1)

尝试将init操作更改为after_setup_theme

add_action('after_setup_theme', 'register_my_menus');