我有一个模板,叫它menu.php
, 其中包含一个菜单。我希望用户使用WordPress自己的菜单设置此页面上的菜单,这样我就不必为其创建自定义内容。
理论上它们可以有多个menu.php
第页。
页面模板有一个自定义元框,可以将菜单段塞保存到数据库中。当页面加载时,我希望能够加载这个slug并使用这个slug设置当前菜单。
问题是,由于我动态设置了slug,我不知道如何注册菜单。
我想,当我将slug保存到数据库时,也许我可以注册菜单,但这并没有完全奏效。
有什么想法吗?
最合适的回答,由SO网友:cybmeta 整理而成
注册菜单实际上就是注册菜单位置,但我认为您不需要注册位置,这样就可以避免注册步骤。我想你需要的是wp_nav_menu( )
作用例如,在页面模板中:
//Get the menu slug stored in page custom meta field
//Replace menu_meta_field_name with the correct name of the meta field
$menu_slug = get_post_meta( get_queried_object_id(), \'menu_meta_field_name\', true);
wp_nav_menu( array( \'menu\' => $menu_slug ) );