[wp-hackers] add_action arrays?
Chris Jean
gaarai at gaarai.com
Wed Sep 23 12:11:42 UTC 2009
Passing array( &$this, 'method_name' ) as the callback argument is a way
of passing a class method as the callback rather than just a flat function.
Using the $this variable would require a class instance, for example:
if ( ! class_exists( 'PluginTest' ) ) {
class PluginTest {
function PluginTest() {
add_action( 'admin_menu', array( &$this, 'create_menu' ) );
}
function create_menu() {
...
}
}
new PluginTest();
}
I hope this helps answer your question.
Chris Jean
http://gaarai.com/
http://wp-roadmap.com/
Thomas Belknap wrote:
> I've seen a few plugins and bits of code internal to WordPress use the
> following convention:
>
> add_action('pre_get_posts', array(&$this, 'postFilter'));
>
> But this usage is not documented anywhere? I attempted to use the same
> convention and got the following error:
>
> call_user_func_array() [function.call-user-func-array]: First argument
> is expected to be a valid callback, 'Array' was given in blah, blah,
> blah...
>
> I was looking at the code for add_action and add_filter, and they
> definitely seem to not take arrays into account as far as I can tell.
> Is this a deprecated way of doing things? Is there some other way to
> hook an object method into an action or filter?
>
> Thanks!
> _______________________________________________
> wp-hackers mailing list
> wp-hackers at lists.automattic.com
> http://lists.automattic.com/mailman/listinfo/wp-hackers
>
More information about the wp-hackers
mailing list