$action 是在wp登录的第384行上设置的变量。php(自WordPress 4.7.3起)。
$action = isset($_REQUEST[\'action\']) ? $_REQUEST[\'action\'] : \'login\';
当WordPress到达第428行时,它首先对双引号内的字符串求值为
login_form_login 如果
$_REQUEST[\'action\'] 未设置变量。如果设置了该变量,例如
register, 然后,双引号内的字符串将计算为
login_form_register.
当WordPress函数do_action() 已解释,请参见line 421 of wp-includes/plugin.php, 做一些事情,在第453行应用do_action() 的方法$wp_filter 全球的
要了解此方法的作用,我们需要转到line 321 of wp-includes/class-wp-hook.php, 因为挂钩只是简化的过滤器,所以调用apply_filters() 方法,该方法位于同一文件的第276行。
此方法的相关部分是第296、298和300行,它们如下所示:
$value = call_user_func_array( $the_[\'function\'], array() );
call_user_func_array() 是一个PHP函数,它使用参数数组调用回调。
WordPress存储$wp_filter 全球的我们使用add_action() 和add_filter() 功能。
add_action( \'login_form_login\', array( $this, \'redirect_to_custom_login\' ));
这是告诉WordPress向
login_form_login 钩子和可调用回调是
redirect_to_custom_login 方法来自
$this 对象