Tengo una función add_filter
para el gancho auth_cookie_expiration
. Este gancho acepta tres parámetros. Sin embargo, estoy interesado en pasarle más parámetros. Por ejemplo:
add_filter( 'auth_cookie_expiration', 'get_expiration', 10, 5 );
Esto sería posible con apply_filter
, pero la función add_filter
se llama una vez, lo que hace que se genere un error:
PHP Fatal error: Uncaught ArgumentCountError: Too few arguments to function get_expiration(), 3 passed in ... and exactly 5 expected
Resolví esto usando cierres, pero parece una forma completamente ridícula de hacer esto:
add_filter( 'auth_cookie_expiration', function() use ($param1, $param2) { return get_expiration(null, null, null, $param1, $param2); } , 10, 3 );
¿Existe una forma adecuada / más elegante de hacer que acepte parámetros adicionales (aún mejor, los parámetros que deseo en lugar de los predeterminados)? ¿Estoy malinterpretando cómo se supone que add_filter
funciona?
Por ejemplo, supongamos que get_expiration
tiene este aspecto:
function get_expiration( $length, $user_id, $remember, $param1, $param2 )
{
return $param1 + $param2;
}