向自定义WordPress主题添加菜单支持

我正在创建我的第一个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

我什至看不到管理菜单中的菜单选项(如此处!)


#1


几件事-你不需要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' ) ) {
    ...
}

来源:

https://www.srcmini02.com/67154.html

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?