我已经为一个主题创建了一个子主题,除了函数中需要一些文件外,一切都很好。父主题的php,我想从子主题重写它。他们使用了get_template_directory_uri();
而不是get_stylesheet_directory_uri();
. 所以它并没有覆盖它。函数中使用的代码。php是:
require( get_template_directory() .\'/inc/custom-functions.php\' );
我无法更改父主题或从子主题中取消挂钩。使用子进程的最佳解决方案是什么,因为我不能同时调用这两个进程,从而导致致命错误。我已经检查了stackoverflow的一些答案,但它们的答案并不准确。
Child theme - Overriding 'require_once' in functions.php
这个答案建议使用样式表而不是模板,但我不能更改父主题。
最合适的回答,由SO网友:Tom J Nowell 整理而成
这是不可能的,require
是一种PHP语言构造,它不是WordPress函数,不能通过WordPress API进行筛选或重写
以下是您的选择:
如果要删除的功能是通过操作和筛选器实现的,则:
从该文件中取下您不想要的内容,然后添加新的钩子,尝试撤消它们所做的操作,否则,您只能选择:
修改父主题分叉父主题选择新的父主题向作者提交支持票证,以使其更改为支持操作和筛选器