我想使用插件中的方法作为挂钩,而不是回调。我想使用我编写的自定义函数作为回调函数,当插件中的特定方法运行时会触发该回调函数。本质上类似于:
add_action( array( "NAME OF CLASS", NAME OF METHOD" ), "MY CUSTOM FUNCTION" ) )
我不知道该怎么做,任何帮助或指导都将不胜感激!
我已经验证了函数中存在的方法和类。使用方法\\u exists()函数的php。
编辑:
我正在使用名为Groups和Groups\\u File\\u Access的插件来处理我网站上的文件访问和下载。该类是“Groups\\u File\\u Access”,其中的方法是“Groups\\u File\\u served”。我没有编写此插件。当有人访问文件时会触发该方法,我想在通过挂接调用“Groups\\u File\\u served”时运行自定义函数。我试图避免编辑插件本身,但看起来我需要这样做。
SO网友:Scruffy Paws
听起来你在找do_action()
在您编写的方法中添加do\\u操作,它将触发新的自定义操作。然后您可以使用add_action()
与使用内置操作的方式相同。
https://developer.wordpress.org/reference/functions/do_action/
类中的方法示例。。。
public function some_method() {
$foo = \'puppy\';
$bar = \'bunny\';
do_action( \'my_nifty_action\', $foo, $bar );
}
然后,您可以在其他地方将呼叫添加到您的操作中。。。
add_action( \'my_nifty_action\', \'my_custom_function\', 10, 2 );
function my_custom_function( $foo, $bar ) {
// ... your code here
}