0

在我们最新的 wordpress 站点中,用户名 a-bcomm 登录,查看 dashbaord 和 usermeta,is_user_logged_in() 返回 true。

将 sql 中的用户名更改为 bcomm,在完全相同的情况下 is_user_logged_in() 返回 false。

在 sql 中将其改回 a-bcomm 并再次 is_user_logged_in() 为真。

有什么想法吗?

谢谢

(编辑添加sql和代码)

内部更改用户名的sql是...

update wp_users set user_login= 'a bcomm' where id=XX;

如果进行此更改,wordpress 可以正常工作(AFAIK - 我们过去必须为用户多次这样做)。注意这也发生在新用户身上,这不是“无法更改 WP 用户名”的问题。

当用户名是 a-bcomm 但不是 bcomm 时有效的代码是

        if(is_user_logged_in())  
    {
        $user_name = $current_user -> user_login;
        $user_id = $current_user -> ID;
        error_log("USer logged in $user_name");
    } else {
        if ($user) {
            $user_id = $user->ID;
            $user_name = $user->user_login;
            error_log("User NOT logged in $user_name");
        }
        error_log("User not logged in no user ".print_r($current_user,true));
    }

使用 bcomm 打印最终的 error_log 条目,使用 a-bcomm 第一个打印

谢谢

4

0 回答 0