您给出的示例是在使用类构建插件/主题时使用的。
在正常使用中functions.php
文件将只包含:
function my_function_to_filter( $args ) {
// ... function stuff here
return $args;
}
add_filter(\'some_wp_filter\', \'my_function_to_filter\');
但是,如果您使用的是一个类,情况会有所不同。你可能会有
my-class.php
文件包含:
class My_Class {
function my_function_to_filter( $args ) {
// ... function stuff here
return $args;
}
add_filter(\'some_wp_filter\', array(&$this, \'my_function_to_filter\'));
}
在这种情况下,
&$this
正在传入对类的引用,以便调用的筛选器是
my_function_to_filter
当前类中的函数。如果希望将过滤器调用都保持在同一位置,也可以使用静态方法来实现这一点。
所以在my-class.php
您将拥有:
class My_Class {
static function my_function_to_filter( $args ) {
// ... function stuff here
return $args;
}
}
并且在
functions.php
或者您的核心插件文件:
add_filter(\'some_wp_filter\', array(\'My_Class\', \'my_function_to_filter\'));