将wordpress身份验证与现有用户数据库集成

时间:2012-01-19 07:39:48

标签: php sql wordpress

我有一个包含用户表的数据库,其中包含以下字段:

id 
name 
email 
password 
status

我的用户通过提供电子邮件和密码登录。我已经安装了一个有mysite.com/news路径的博客。

我想要的是,如果某个用户在我的网站中注册,它应该在我的wordpress数据库中自动添加一行。我想获取我的用户表的所有记录并存储在wordpress用户表中。此外,如果有人登录我的网站,则应该在他们访问博客时登录。

1 个答案:

答案 0 :(得分:5)

为什么要重复这些信息?您还必须采取措施在两个数据库之间获得一致的用户管理。

我建议使用现有数据库作为WordPress的身份验证源,使用此插件:http://wordpress.org/extend/plugins/external-database-authentication/

<强>更新

要允许用户登录WordPress,请在您的网站上登录时设置WordPress身份验证Cookie。您可以通过包含所需的最低WordPress代码并调用 wp_setcookie()函数来完成此操作。

// include the wordpress files necessary to run its functions
include('../classpages/wp-config.php'); // this includes wp-settings.php, which includes wp-db.php, which makes the database connection
include(ABSPATH . WPINC . '/pluggable-functions.php');

// use wordpress's function to create the login cookies
// this creates a cookie for the username and another for the hashed password, which wordpress reauthenticates each time we call its wp_get_current_user() function
wp_setcookie($user_login, $user_pass, false, '', '', $cookieuser);

来自Using wordpress login functions