我知道当大多数 WordPress 已加载但未发送标头时init会被触发,而当大多数 WordPress 已加载且标头已发送时wp_loaded会被触发。
有人可以用一个例子来解释什么可以使用这些钩子,什么不能使用这些钩子,并通过用例场景来解释和澄清它们的区别吗?
根据我的理解,inithook 意味着 WP 核心已加载,但第 3 方内容(例如主题、插件等)才开始加载。钩子wp_loaded意味着核心和第三方内容。
\n\n有人可以用一个例子来解释什么可以使用这些钩子,什么不能使用这些钩子,并通过用例场景来解释和澄清它们的区别吗?
\n
我想如果你想覆盖第 3 方插件,你需要使用wp_loaded,除非插件本身创建它自己的特定“加载”钩子。
如果您想以某种方式更改默认样式和脚本,您需要使用wp_loaded它们,因为它们在以下情况下不会加载init。
请参阅下面的技术说明:
\ninit在wp_loaded之前 运行:
\ninitregister_sidebarwp_register_sidebar_widgetwp_default_scriptswp_default_stylesadmin_bar_initadd_admin_bar_menuswp_loaded来源:WP Codex
\n对钩子的额外见解init:
\n\n大部分 WP 在此阶段已加载,并且用户已通过身份验证。WP 继续在后面的 \xe2\x80\x98init\xe2\x80\x99 钩子上加载(例如小部件),并且许多插件出于各种原因在其上实例化自己(例如它们需要用户、分类法等)。 )。
\n
来源: WP 开发者
\n额外的见解wp_loaded:
\n\n一旦 WP、所有插件和主题完全加载并实例化,就会触发此钩子。
\n
来源: WP 开发者
\n编辑:另外,请记住之前wp_loaded执行的 admin_init(如果是管理页面请求)
| 归档时间: |
|
| 查看次数: |
4354 次 |
| 最近记录: |