为什么、在何处以及何时在过滤器/挂钩中使用引用指针?建议或要求时不使用它们的潜在缺点是什么?只是想寻找一个比《法典》提供的更详细的答案,也许还有一些现实世界中的应用。
例如:add_filter(\'some_wp_filter\', array(&$this, \'my_function_to_filter\');
为什么、在何处以及何时在过滤器/挂钩中使用引用指针?建议或要求时不使用它们的潜在缺点是什么?只是想寻找一个比《法典》提供的更详细的答案,也许还有一些现实世界中的应用。
例如:add_filter(\'some_wp_filter\', array(&$this, \'my_function_to_filter\');
您给出的示例是在使用类构建插件/主题时使用的。
在正常使用中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\'));
我偶然发现this question 在写这个问题的时候。我有一个问题是关于这个问题的。我发现你用的是get_delete_post_link 筛选为我的操作创建一个新的url(或一个类似的函数——在任何情况下,我都会将该函数与布尔值一起使用)。唯一的问题是,I don\'t know how to capture the event now. 考虑到我在谷歌上找不到很多关于行后操作的例子,我将不胜感激-/public function _wp_filter_get_delete_post_link( $