如果是您的代码,则使用传递给的第一个参数wp_authenticate_user
筛选器回调。这是一个WP\\u用户对象,它不是电子邮件地址,也不是字符串。
您可能会因为变量的名称而感到困惑,$username
, 我建议将名称改为$user
, whcih更合适,它更好地表示了该变量的实际值。
add_filter(\'wp_authenticate_user\', \'filter_login_auth\', 10, 3);
function filter_login_auth( $user, $password ) {
//get posted value
$value = $_POST[\'klantnr\'];
//get user object
$user = get_user_by(\'login\', $user->user_login);
// .....
}
但你不需要,因为
get_user_by()
返回用户对象,并且您已经拥有它:
add_filter(\'wp_authenticate_user\', \'filter_login_auth\', 10, 3);
function filter_login_auth( $user, $password ) {
//get posted value
$value = $_POST[\'klantnr\'];
// You don\'t need this, you already have the user object
// get user object
//$user = get_user_by(\'login\', $user->user_login);
// .....
}
有关更多信息,请参阅
wp_authenticate_user
docs.