我今天创建了一个子主题,需要覆盖一个php文件,该文件是使用此代码包含在主题函数中的。php文件
require_once( get_template_directory() . \'/function-includes/theme-functions.php\' );
我试过使用
require_once( get_stylesheet_directory(). \'/function-includes/theme-functions.php\' );
在我的子主题函数文件中,但它导致了一个错误,并且根本没有加载站点。
所以我最终使用locate_template( \'/function-includes/theme-functions.php\', true );
在父主题函数中。php文件
是locate_template
主题开发人员可以使用更好的方法来开发子主题?
是否有其他方法可以仅使用我的子主题函数。php来覆盖该主题函数。php文件?
最合适的回答,由SO网友:Chip Bennett 整理而成
一般来说,儿童主题最初旨在做两件事:
我怀疑主题开发人员是否打算/function-includes/theme-functions.php
要被子主题覆盖的文件。功能文件通常是主题的核心组件,允许子主题全面覆盖它们会给主题带来严重的开发复杂性。
与其要求功能文件能够被子主题覆盖,我宁愿要求开发人员使自定义函数输出可过滤,或者(在适当的情况下)使一些自定义函数可插入(到目前为止,我更喜欢可过滤的函数输出而不是可插入的函数)。