3rd Party Login in wordpress

时间:2014-05-26 作者:Sankalp Mishra

我有两个网站。一个在wordpress上,一个在非wordpress网站上。现在,我已经使用了非wordpress站点的页眉和页脚。我想要的是,如果用户登录到我的非wordpress站点,那么他可以使用相同的电子邮件和名称在我的wordpress站点上发表评论。

我通过CURL请求从用户的非wordpress站点获取用户信息。我面临的主要问题是如何使用用户的电子邮件和姓名发表评论。

我试着用这个:

global $current_user;
$current_user->user_email = $body->user->email;
$current_user->user_firstname = $body->user->name;
此处$body包含从我的非wordpress站点登录的电子邮件和用户名。

我该怎么做?

1 个回复
SO网友:ksr89

下面是我用来在两个站点之间登录的一些代码,一个是wordpress中的,另一个是非wordpress中的。我向wordpress网站发送了一个ajax请求,其中包含电子邮件和密码作为数据。在wordpress站点i用户上获取此数据后wp_signon 用于登录用户的函数。这是代码。

function sign_in_action() {
    $creds = array();
    $creds[\'user_login\'] = $_REQUEST[\'username\'];
    $creds[\'user_password\'] = $_REQUEST[\'password\'];
    $creds[\'remember\'] = $_REQUEST[\'remember\'];
    $user = wp_signon( $creds, false );
    if ( is_wp_error($user) ):
        echo false;
        exit();
    else:
        echo true;
        exit();
    endif;
}
add_action(\'wp_ajax_nopriv_sign_in_action\', \'sign_in_action\');
add_action(\'wp_ajax_sign_in_action\', \'sign_in_action\');
一旦登录成功,如果用户来到wordpress,他将自动登录,因为wordpress会为用户保存cookie。

如果用户从非wordpress站点注销,您必须从wordpress站点注销,您必须为注销编写相同的代码。为此,您必须向wordpress站点发送一个ajax请求,该站点使用wp_logout 用于注销用户的函数。

function logout_action() {
    wp_logout();
    echo true;
    exit()
}
add_action(\'wp_ajax_nopriv_logout_action\', \'logout_action\');
add_action(\'wp_ajax_logout_action\', \'logout_action\');
这是我用于我的站点的工作代码。我不知道你们是如何使用wordpress和非wordpress网站的用户数据库的。我使用commonwp_users wordpress和非wordpress站点的表。

结束

相关推荐

Current and next month posts

首先感谢阅读。我正在编写一个网站,要求本月有3个帖子标题,下个月有3个帖子标题(即将到来的活动)!我正在努力让它发挥作用。我正在使用wp\\u query来完成此操作,但我根本无法开始工作!任何帮助都将不胜感激:)谢谢我只是想进一步说明一下,因为我可能没有说清楚!我希望能够显示本月的3个事件/帖子,以及接下来的3个月的3个事件/帖子-我将如何做到这一点?请帮帮我,我有点疯了。。干杯这是当前第3个月博客标题的代码: <p class=\"blue\"><?ph