[wp-hackers] do_action with multiple arguments
    Daniel Westermann-Clark 
    daniel at acceleration.net
       
    Thu Mar 10 17:15:42 GMT 2005
    
    
  
Hi,
I've been working on extending the authentication API available to
plugins.  Matt committed my changes yesterday:
http://trac.wordpress.org/changeset/2425
I'm now trying my authentication plugin against trunk, and seem to be
running into an issue related to the changes in issue 901:
http://mosquito.wordpress.org/view.php?id=901
http://trac.wordpress.org/changeset/2398
The do_action function is now passing an empty argument, $string, to
plugin callbacks (line 969 of wp-includes/functions.php).
    $all_args = array_merge(array($string), $args);
    [...]
    $string = call_user_func_array($function_name, $args);
The string is never returned or used outside of do_action, so I'm
wondering about its purpose.  You end up needing to accept an additional
argument than the actual do_action call gives.  Here's a simplified
example from my HTTP authentication plugin:
    add_action('wp_authenticate', 'login', 10, 3);
    function login($string, $username, $password) {
        $username = $_SERVER['REMOTE_USER'];
        $password = $username;
    }
This works, but is the $string argument necessary for actions (as
opposed to filters, where it does make sense)?  I'm probably just
missing something, so I thought it best to ask.
Thanks,
-- 
Daniel Westermann-Clark
    
    
More information about the wp-hackers
mailing list