我想在满足某些要求时设置用户记录,并且我正在使用以下功能来设置cookie,其中我将用户的id作为参数传递,该参数是根据wp_users表。但不知何故,它没有设置用户登录。缺少什么,我应该做什么来设置用户登录,我也想在某些条件下注销用户。这两个功能都不起作用。
wp_set_auth_cookie(1)
wp_clear_auth_cookie();
答案 0 :(得分:2)
在将所有标题发送到浏览器之后,您最有可能调用这些函数,因此实际上您无法将登录的cookie发送到浏览器。
最常见的错误是您尝试在呈现短代码时登录用户 - 这在大多数情况下都不起作用(某些服务器配置允许这样做,但最好不要依赖它)。 / p>
您可以挂钩init
操作并将逻辑移到那里,同时调用wp_set_auth_cookie()
和wp_clear_auth_cookie()
。
答案 1 :(得分:0)
使用以下代码
wp_set_current_user($user_id);
if (wp_validate_auth_cookie()==FALSE)
{
wp_set_auth_cookie($user_id, true, false);
}