我使用表单将 POST 请求发送到页面并登录用户,wp_signon()
以便向我的 wordpress 安装验证用户身份,如 WP 文档中所述:
$creds = array();
$creds['user_login'] = $_POST["user-login"];
$creds['user_password'] = $_POST["user-password"];
$creds['remember'] = true;
$user = wp_signon( $creds, false );
在这段小代码之后,我正在检查用户是否已登录:
if ( is_user_logged_in() ) { echo "SUCCESS"; } else { echo "FAIL!"; }
但我得到了FAIL!
所有的时间。然后在四处嗅探之后,我发现了这个小技巧:
wp_set_current_user( $user );
if ( is_user_logged_in() ) { echo "SUCCESS"; } else { echo "FAIL!"; }
我已经SUCCESS
上了这个,但是当我离开这个页面时,我FAIL
一次又一次地得到了。
任何人都可以解释我如何wp_signon()
在页面更改或重新加载或其他任何内容后登录用户而不注销她。
/wp_admin
当我使用 WP 的默认登录表单登录并登录时,我得到了理想的结果。我可以浏览我的 WP 网站的每个页面,始终保持登录状态。但是,当我尝试在默认表单之外使用wp_signon();
I执行此操作时FAIL!
。
也许我用错了?引导我!请!