大多数身份验证函数都是可插入的,这意味着您只需在插件中定义它们,即可完全覆盖实际函数,插件将在pluggable.php
归档并提供您声明的服务。
看看wp_authenticate
和wp_check_password
. 它们还有过滤器和操作,可以让您进行所需的任何预验证。在这种情况下,最简单的方法是复制现有函数并根据需要添加代码。
根据您目前所说的,您可能可以通过wp_authenticate_user
filter. 如果curl请求失败,只需返回WP\\u错误。
add_filter( \'wp_authenticate_user\', function ($user, $username, $password) {
if ( !is_wp_error( $user ) ) {
// run your curl check here
if ( ! $curling ) {
return new WP_Error( \'curling_is_dangerous\', __( \'<strong>ERROR:</strong> wat? \' .
\'That doesn\\\'t even look like a curl!\' ) );
}
}
return $user;
} );