我正在为客户开发一个定制的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版本,我已经正确评论了我的所有文件!我知道这段代码确实有用,所以不知道为什么它不在这上面!
答案 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');