WordPress register_nav_菜单突然在本地停止工作

WordPress register_nav_菜单突然在本地停止工作,wordpress,mamp,Wordpress,Mamp,好的,这是个大问题。交易如下: 我有超过50个WordPress安装在本地的MAMP Pro上运行。对于其中一些,我使用local/whater,对于其他一些,我将虚拟主机设置为whater.local/。WordPress从来没有遇到过任何问题。昨天,安装了一个wp3.0.1的副本(新鲜,直接从服务器上下载),并开始模板制作。今天,我返回到它继续,首先注册默认导航。我在functions.php中添加了必要的行: add_theme_support( 'menus' ); add_actio

好的,这是个大问题。交易如下:

我有超过50个WordPress安装在本地的MAMP Pro上运行。对于其中一些,我使用local/whater,对于其他一些,我将虚拟主机设置为whater.local/。WordPress从来没有遇到过任何问题。昨天,安装了一个wp3.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'));
    }
很好,对吧?我还尝试了注册自定义菜单,一次一个。在WordPress中,没有显示默认菜单。我试过:

  • 激活其他主题,重新激活原始主题
  • 尽管代码中注册了“主菜单”,但仍然没有自定义导航,因此它不是my functions.php
  • 尝试了另一个我在本地运行的主题(在其原始位置运行得非常完美),但仍然没有导航
  • 删除整个数据库并重新安装WP
  • 删除整个目录,重新下载WP,重新安装
  • 删除虚拟主机并从localhost/whatever工作
所以,我有一吨其他可湿性粉剂网站工作非常好,导航注册,但我不能创建更多?我完全,完全迷路了

如果您有任何意见,我将不胜感激,现在我已经束手无策了。如果您需要更多信息,请告诉我。

三件事:

  • 您应该将菜单注册挂接到
    'after\u setup\u theme'
    ,而不是
    'init'
  • 您不需要调用
    add\u theme\u support()
    ,因为
    register\u nav\u menu()
    会处理这个问题
  • 您可以使用
    注册导航菜单()
    一次处理所有菜单
  • 但是,这不起作用的最大原因是您没有调用函数。
    add\u action
    上的回调应该是
    'register\u custom\u menu'
    (注意复数形式)。拼写必须与函数声明匹配。这就是我建议你重写它的方式:

    add_action('after_setup_theme', 'register_custom_menus');
    
    function register_custom_menus() {
        register_nav_menus( array(
            'primary_menu' => __('Header Menu'),
            '404_menu' => __('404 Menu') ) );
    }