是否可以在子主题的函数.php中的包含文件中使用ADD_FILTER?

时间:2016-09-03 作者:drifter

我正在尝试一些基本的东西,但我似乎无法理解,或者我甚至不确定是否可以在儿童主题中完成。

我正在尝试的是组织函数中的代码。通过为include文件创建一个单独的目录并将所有文件都放在其中,可以将php文件放在子主题中。

基本上,这是我的functions.php 文件:

require_once( get_stylesheet_directory_uri() . \'/inc/myfile.php\');
然后myfile.php 获取此代码:

function myfunction( $src ) {

}
add_filter( \'script_loader_src\', \'myfunction\');
但是我得到了这个错误:

PHP Fatal error:  Call to undefined function add_filter()
所以现在我想知道是否有一种方法可以让我在儿童主题中实现我想要实现的目标。我在一个家长主题中尝试过这种方法,似乎效果很好。

提前感谢您的解释和建议。

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

你想做的是可能的。

包含php文件时,请使用get_stylesheet_directory() 在儿童主题和get_template_directory() 在父主题中。

E、 g。require_once( get_stylesheet_directory() . \'/inc/myfile.php\');

get_stylesheet_directory_uri()get_template_directory_uri() 将返回URL。当将样式表和JavaScript等公共资产排队时,这些函数很有用。

此外,设置allow_url_includeOff 在php中。ini将在这些情况下提供更好的错误报告(source).