Cannot override hooks.php

时间:2014-02-26 作者:user568021

我为网络黑猩猩的“反应主题”构建了一个儿童主题。我想换一个钩子。所以我想我需要钩子。我的孩子主题中的php文件。所以我从父母那里复制了它。我制定了相同的层次结构(我想这是正确的方法)。

wp-content/[my_child_theme]/core/includes/hooks.php
将文件复制到主题根目录没有帮助。

我还试图重新创建这个关键钩子。我把代码放在子函数中。php文件,但它也不起作用,因为挂钩发生在主题内容之后(只是我的asumtion)。

所以问题很简单:如何覆盖父主题的挂钩。php文件?

1 个回复
最合适的回答,由SO网友:Rarst 整理而成

hooks.php 不是属于任何本机WordPress约定的文件。虽然经常提到从父主题复制文件是一种技术,但它仅适用于模板文件,模板文件是模板层次结构的一部分(本机或正确自定义的)。

你认为这是时间的问题可能是准确的。这有点违反直觉,但子主题加载在父主题之前。因此,在子主题加载上运行代码还为时过早,无法影响尚未发生的任何事情。

您需要创建一个函数来运行该代码,并找到一个很好的时间将其连接到。after_setup_theme 钩子可能合适,但真正的细节完全取决于父主题正在做什么的时间安排。

结束

相关推荐

hooks & filters and variables

我是updating the codex page example for action hooks, 在游戏中完成一些可重用的功能(最初是针对这里的一些Q@WA)。但后来我遇到了一个以前没有意识到的问题:在挂接到一个函数以修改变量的输出后,我再也无法决定是要回显输出还是只返回它。The Problem: 我可以修改传递给do_action 用回调函数钩住。使用变量修改/添加的所有内容仅在回调函数中可用,但在do_action 在原始函数内部调用。很高兴:我将其修改为一个工作示例,因此您可以将其复制/粘贴