我应该在哪个挂钩上调用REGISTER_NAV_Menu?

时间:2016-02-11 作者:Isaac Lubow

我见过各种各样的register_nav_menus() 已调用:

打开after_setup_themeinitfunctions.php

我应该使用哪个钩子来调用此函数?

3 个回复
最合适的回答,由SO网友:Kaspar Lee 整理而成

首先,您不应该在functions.php 因为您无法删除它们(使用remove_action). 它还可能导致调试错误,因为WP可能还不稳定。通过使用钩子,您可以确保WP足够稳定,可以运行您的代码,并且您需要使用的内容已经加载。

在上查看答案Wordpress Forums 有关详细信息

要决定使用哪个钩子,请首先查看this answer.

两者之间的主要区别:

用户未在进行身份验证after_setup_theme

  • 用户在以下位置获得身份验证:init.
  • after_setup_theme 因此,挂钩显然是在init, 您可以在Action Reference

    根据上的Wordpress Codex页面after_setup_theme:

    在初始化主题后,在每次页面加载期间调用此挂钩。通常用于执行基本设置,registration, 和初始化主题的操作。

    既然您正在注册菜单,我建议您使用after_setup_theme. 这个Wordpress Codex 对于register_nav_menu() 还使用after_setup_theme 勾选其中一个示例。

    SO网友:TheDeadMedic

    您可以在它们可用时即尽快使用它们functions.php 已加载,因此您可以看到这么多不同的选项。

    我建议坚持“实际”的方式——使用钩子after_setup_theme

    SO网友:Cai

    的文档register_nav_menu 使用显示示例after_setup_theme 钩子,所以我会用它。

    after_setup_theme

    在初始化主题后,在每次页面加载期间调用此挂钩。它通常用于执行主题的基本设置、注册和初始化操作。

    。。。after\\u setup\\u主题挂钩,在init挂钩之前运行。init钩子对于某些功能来说太晚了,例如指示支持帖子缩略图。

    相关推荐

    Gutenberg通过wp.hooks.addFilter修改核心分类面板元素

    我已经研究过修改现有的编辑器元素……但几乎没有。但我确实在Github得到了一个很好的回复,指出了这一点:https://github.com/WordPress/gutenberg/tree/master/packages/editor/src/components/post-taxonomies#custom-taxonomy-selector显然,分类小组可以通过wp.hooks.addFilter. 这是一个很好的开始!我已经能够使用该代码片段模拟一些虚拟代码,用Dashicon替换分类法面板。(