是否可以动态注册菜单?

时间:2015-01-12 作者:ptf

我有一个模板,叫它menu.php, 其中包含一个菜单。我希望用户使用WordPress自己的菜单设置此页面上的菜单,这样我就不必为其创建自定义内容。

理论上它们可以有多个menu.php 第页。

页面模板有一个自定义元框,可以将菜单段塞保存到数据库中。当页面加载时,我希望能够加载这个slug并使用这个slug设置当前菜单。

问题是,由于我动态设置了slug,我不知道如何注册菜单。

我想,当我将slug保存到数据库时,也许我可以注册菜单,但这并没有完全奏效。

有什么想法吗?

1 个回复
最合适的回答,由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 ) );

结束