添加菜单支持自定义Wordpress主题

时间:2012-09-27 07:25:07

标签: wordpress wordpress-theming

我正在创建我的第一个Wordpress主题,我正在努力获得菜单支持:

我在functions.php中添加了一个自定义菜单,并将其实现到我的header.php中,如下所示,但管理区域中的菜单选项未显示!

# functions.php

<?php

    add_theme_support( 'menus' );

    add_action( 'init', 'register_my_menus' );

    function register_my_menus() {
        register_nav_menus(
            array(
                'primary-menu' => __( 'Primary Menu' ),
                'secondary-menu' => __( 'Secondary Menu' )
            )
        );
    }

?>

# header.php
# [...]
    <?php wp_nav_menu( array( 'theme_location' => 'primary-menu' ) ); ?>
# [...]

我的设置:

  • Wordpress版本3.4.2
  • MAMP开发环境
  • 没有插件

其他信息:

  • 菜单选项显示在其他模板中
  • 菜单在页面上正确呈现

我在这里缺少什么?


编辑#1

我甚至无法在管理菜单(like here!

中看到菜单选项

1 个答案:

答案 0 :(得分:3)

很少 - 你不需要add_theme_support();也不是add_action('init','register_my_menus')

直接调用register_nav_menus函数,如下所示:

register_nav_menus(
    array(
    'primary-menu' => __( 'Primary Menu' ),
    'secondary-menu' => __( 'Secondary Menu' )
    )
);

如果您愿意,还可以检查功能是否存在。但是,如果它仅用于您自己的主题并且您知道它存在,那么它并不是真正需要的。

if ( function_exists( 'register_nav_menus' ) ) {
    ...
}