register_my_menus()重新声明导致致命错误

时间:2014-12-05 14:33:10

标签: php wordpress menu

我正在创建一个新的wordpress主题和菜单使用:

function register_my_menus() {
    register_nav_menus(
        array( 'header-menu' => __( 'Header Menu' ) )
    );
}
add_action( 'init', 'register_my_menus' );

这会产生致命错误:

Fatal error: Cannot redeclare register_my_menus() (previously declared in C:\wamp\www\wordpress\wp-content\themes\myTheme\functions.php:5) in C:\wamp\www\wordpress\wp-content\themes\myTheme\functions.php on line 9

这不会在其他任何地方被调用/使用。

我的理解是该函数被称为register_my_menus(),然后添加了使用add_function初始化的菜单。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

您是否尝试更改功能名称?最好为所有自定义函数添加一些前缀,以避免出现此类错误。 例如,尝试使用:

function theme_name_register_my_menus(){
register_nav_menus(
    array( 'header-menu' => __( 'Header Menu' ) )
);
}
add_action( 'init', 'theme_name_register_my_menus' );    

答案 1 :(得分:0)

代替在函数内编写register_nav_menus(),请尝试以下操作:

register_nav_menus(
    array(
        'header_menu' => 'Header Menu',
    )
);

只需将上面的代码添加到您的 functions.php 文件中即可。