儿童主题functions.php 实际上是先加载的(这是有意的和期望的行为)所以尽管function_exists
签入子主题,它将一事无成,因为父主题似乎没有这个包装器,并且是第二个加载的,因此会发生致命错误。
没有简单的方法可以覆盖父主题函数(如果它没有在默认情况下使其所有函数都可插入-我的函数可插入,但很少有!)有时父主题函数被挂接到一个动作,您可以从挂接中删除该函数(使用remove_action
) 然后添加您自己的自定义函数(使用add_action
). 其他时候(甚至很少)在现有的主题代码中有可用的过滤器。
除此之外,您还必须通过将相关的父主题模板复制到子主题,并对其进行修改,以更改对自定义主题调用的函数,或触发的挂钩,从而获得更大的创造性,因为子主题模板被用来代替父主题模板。但请记住,孩子和父母functions.php 已加载。