我有一个注册用户的PHP网站。现在我要在子域中创建一个WordPress站点。现在,我想在新的WordPress网站上使用我现有的用户数据。
简单地说,
www.example.com是我的网站。它有一些注册用户。这是用PHP构建的,我在桌面上维护用户数据。现在我想用WordPress创建wp.example.com(Buddy Press)。现在我希望我的现有用户登录并使用此WordPress站点。有可能吗?
答案 0 :(得分:0)
您可以通过向wordpress登录过程添加新操作来将两种服务相互组合。为此,需要执行以下步骤:
通过向wp_login添加一个优先级至少为11但低于30的操作来覆盖登录过程:
add_action('wp_login', 'yourLoginFunction', 11);
创建一个REST API或任何其他形式的API,您的wordpress服务器可以在其他服务器上请求用户凭据:
function yourLoginFunction($username, $user) {
if (!is_empty($user)) {
return $user; // User is already logged in.
}
$password = $_POST['password'];
// call API on other server. Provide the given userdata from POST
$userResult = callYourApi($username, $password);
if ($userResult !== null) {
$user = get_user_by('login', $username);
if ($user === false) {
//create new user
}
return $user;
}
return false;
}
像这样,您的用户可以使用您的第一页的帐户并登录您的wordpress页面。请记住,将在wordpress网站上为他创建另一个用户,因此密码更改或类似的任何内容将无效,除非您为其编程同步。