好的,这是一个很大的问题。这是交易:
我在本地运行的MAMP Pro上安装了50多个WordPress。对于其中一些我使用local / whatever,对于其他人我将虚拟主机设置为whatever.local /。 WordPress从来没有遇到任何问题。昨天,安装了WP 3.0.1的副本(新鲜,直接关闭服务器),并开始模板化。今天,我回到它继续,首先注册默认导航。我在functions.php中添加了必要的行:
add_theme_support( 'menus' );
add_action('init', 'register_custom_menu');
function register_custom_menus() {
register_nav_menu('primary_menu', __('Header Menu'));
register_nav_menu('404_menu', __('404 Menu'));
}
很好,对吗?我也尝试过register_custom_menu,一次一个。在WordPress中,不显示默认菜单。我试过了:
所以,我有很多其他WP网站使用导航注册工作得非常好,但我不能再创建了?我完全失败了。
任何输入都会受到赞赏,现在我的智慧结束了。如果您需要更多信息,请与我们联系。
答案 0 :(得分:2)
三件事:
'after_setup_theme'
,而不是'init'
add_theme_support()
,因为register_nav_menu()
负责处理此事。register_nav_menus()
一次性处理所有菜单。然而,这是不起作用的最大原因是因为你没有调用你的功能。 add_action
上的回调应为'register_custom_menus'
(注意复数)。拼写必须与函数声明匹配。这就是我建议你重写的方法:
add_action('after_setup_theme', 'register_custom_menus');
function register_custom_menus() {
register_nav_menus( array(
'primary_menu' => __('Header Menu'),
'404_menu' => __('404 Menu') ) );
}