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