我有一个使用高级自定义字段的主题,允许用户选择不同的标题选项。其中一个标题选项(徽标位于两个菜单之间的页面中间)需要注册三个新菜单、一个左菜单、一个右菜单和一个移动菜单。
当您选择标题选项时,它会加载一个单独的导航左徽标mid nav right。为特定标题样式创建HTML的php文件。
我有以下代码来创建菜单:
add_action( \'after_setup_theme\', \'menu_left_logo_mid_menu_right\' );
function menu_left_logo_mid_menu_right() {
register_nav_menus(
array( \'left_menu\' => \'Left Menu\',
\'right_menu\' => \'Right Menu\',
\'mobile_menu\' => \'Mobile Menu\' )
);
}
然而,我无法让它在函数之外工作。php。我尝试将add\\u操作添加到nav left徽标mid nav right。php文件,但菜单未注册。无论我做什么,我都无法让register\\u nav\\u menus()代码在函数外部运行。php。
我只想在选中标题选项时注册这些新菜单位置。但是,我无法访问函数中的高级自定义字段。php,所以我真的不确定它是否能正常工作。
有人知道如何让register\\u nav\\u menus()在函数之外工作吗。php?
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成
您可以在中访问ACF值functions.php 你必须这样做。
在模板文件中注册菜单将不起作用,因为模板是在after_setup_theme 正在运行。所以,如果您向模板文件中的挂钩添加任何操作,该操作将不会运行-它们将注册到延迟。。。