WP_SignOn($CREDS,FALSE);不工作

时间:2011-08-11 作者:Sebin

在我的多站点中,我使用自定义博客注册,使用:wpmu_signup_blog($domain, $path, $blog_title, $user_name, $user_email, $meta); 网站创建成功。

我希望用户在注册时自动登录到他们的站点管理面板,为此,我使用:

$creds = array();
$creds[\'user_login\'] = $_POST[\'username\'];
$creds[\'user_password\'] = $_POST[\'password\'];
$creds[\'remember\'] = true;

$user = wp_signon( $creds, false );

if ( is_wp_error($user) )
   echo $user->get_error_message();
但这将返回一个错误:

错误:您为用户名mysite输入的密码不正确。丢失密码

我需要不使用插件的自动登录!!!

请帮助。。。

2 个回复
最合适的回答,由SO网友:ltfishie 整理而成

希望这对其他人有帮助。经过数小时的调试,我发现在多站点设置下,wp\\u signon($creds,false)不会让您登录。因此,您应该:

$user = wp_signon ($creds, false);
wp_set_auth_cookie($user->ID);

$user = wp_signon ($creds, true);

SO网友:Ashfame

由于您正在让他们在成功创建博客后登录,$_POST 变量不会具有您期望的值。

使用wp_set_auth_cookie( $user_id ); 它将使您的用户登录,您不需要在用例中检查登录凭据。

结束

相关推荐

WordPress MultiSite。可以用域代替子域吗?

我是多站点新手。这是一个简单的问题。我知道WordPress multisite可以为子域设置。是否可以将域与子域一起使用?我在谷歌上搜索过,但并没有得到很好的结果。也许我用错了关键词。so i can use a single wordpress installation for:领域com公司第1款。领域com公司第2款。领域com公司实例com公司示例2。com公司第1款。示例2 COM希望你得到它。提前谢谢!