PHP Warning: Illegal string offset 'user_login' in /home/.../wp-includes/user.php on line 83
PHP Warning: Illegal string offset 'user_password' in /home/.../wp-includes/user.php on line 83
以下代码:-
add_filter('authenticate', 'wp_authenticate_cookie', 30, 3);
$user = wp_authenticate($credentials['user_login'], $credentials['user_password']);
if ( is_wp_error($user) ) {
if ( $user->get_error_codes() == array('empty_username', 'empty_password') ) {
$user = new WP_Error('', '');
}
return $user;
}
答案 0 :(得分:0)
显然$credentials
不是那个数组。显示var_dump($credentials);
错误的字符串偏移量'whatever'in ...通常意味着:您正在尝试将字符串用作完整数组。
这实际上是可能的,因为在PHP中,字符串可以被视为单个字符的数组。因此,您认为$ var是带有键的数组,但它只是具有标准数字键的字符串
答案 1 :(得分:0)
尝试在$ user之前添加以下行
if(isset($_POST)){
$credentials = array(
'user_login' => isset($_POST['log']) ? $_POST['log'] : '',
'user_password' => isset($_POST['pwd']) ? $_POST['pwd'] :'',
);
}