如何使用高级自定义字段有条件地注册导航菜单?

时间:2018-07-31 作者:qotsa42

我有一个使用高级自定义字段的主题,允许用户选择不同的标题选项。其中一个标题选项(徽标位于两个菜单之间的页面中间)需要注册三个新菜单、一个左菜单、一个右菜单和一个移动菜单。

当您选择标题选项时,它会加载一个单独的导航左徽标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?

1 个回复
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成

您可以在中访问ACF值functions.php 你必须这样做。

在模板文件中注册菜单将不起作用,因为模板是在after_setup_theme 正在运行。所以,如果您向模板文件中的挂钩添加任何操作,该操作将不会运行-它们将注册到延迟。。。

结束

相关推荐

Custom Menus and taxonomies

好的,我刚开始使用WordPress,不是很好,我有一个菜单问题,我真的需要一些帮助。我在一个网站上工作,它有多个地点,并非所有地点都销售相同的产品。所有位置都是具有父结构的页面。俄亥俄州-联系我们-关于我们-产品等。。。西弗吉尼亚州-联系我们-关于我们-产品等。。。宾夕法尼亚州-联系我们-关于我们-产品等我掌握了自定义页面模板的窍门,并为其添加了自定义菜单(因此,我所有的Ohio页面都使用了我制作的自定义Ohio模板,并包含了自定义Ohio菜单)。我正在使用帖子创建产品信息页面,并使用以下方式显示它们:

如何使用高级自定义字段有条件地注册导航菜单? - 小码农CODE - 行之有效找到问题解决它

如何使用高级自定义字段有条件地注册导航菜单?

时间:2018-07-31 作者:qotsa42

我有一个使用高级自定义字段的主题,允许用户选择不同的标题选项。其中一个标题选项(徽标位于两个菜单之间的页面中间)需要注册三个新菜单、一个左菜单、一个右菜单和一个移动菜单。

当您选择标题选项时,它会加载一个单独的导航左徽标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?

1 个回复
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成

您可以在中访问ACF值functions.php 你必须这样做。

在模板文件中注册菜单将不起作用,因为模板是在after_setup_theme 正在运行。所以,如果您向模板文件中的挂钩添加任何操作,该操作将不会运行-它们将注册到延迟。。。