0

我有一个网站www.example.com和一个 wordpress 博客www.example.com/blog

我希望我的用户登录www.example.com$_SESSION['USERNAME']传递给www.example.com/blog.

我只想知道,一旦最终用户登录到我的主站点,我如何才能自动登录到 wordpress 博客。

现在我正在传递$_SESSION['USERNAME']并使用一个插件外部数据库登录,我已经链接到我的主站点数据库。

任何用于使用会话用户名登录 wordpress 的功能都会有所帮助。

4

3 回答 3

1

Wordpress 不使用$_SESSION您需要编写插件或向您的 functions.php 添加一些代码来执行此操作 - 参见http://www.frank-verhoeven.com/using-session-in-wordpress/

你应该添加这样的东西:

function init_sessions() {
    if (!session_id()) {
        session_start();
    }
}
add_action('init', 'init_sessions');

注意:还有一个用 Wordpress 管理会话的插件,也许你可以使用/破解这个http://wordpress.org/plugins/wp-session-manager/

于 2013-05-20T11:07:40.567 回答
1

I have been reading on this. Here is what I have found as I am in the same issue. In your wp-config.php file at the top add:

add_action('init', 'myStartSession', 1);
function myStartSession() {
    if(!session_id()) {
        session_start();
    }
}

HOWEVER, " The data stored in the session doesn’t go away when the user logs out or logs into a different account. For that you need to destroy the session. ..." (exerpt from this nice write up). It explains you also need to:

function myEndSession() {
    session_destroy ();
}
于 2018-11-24T18:30:03.783 回答
0

如果你能得到 wp user_id 你可以做这样的事情:

function init_sessions() {
    if (user_logged_on_site) {
        @session_start();
        $user_id = $_SESSION['wp_user_id']; //this has to be set when the user logs on your website 

        wp_set_auth_cookie( $user_id); //log in the user on wordpress
    }
}
add_action('init', 'init_sessions');

关于 wp_set_auth_cookie 的文档http://codex.wordpress.org/Function_Reference/wp_set_auth_cookie

于 2013-05-20T11:30:02.260 回答