以编程方式创建自定义Wordpress登录凭据

时间:2017-03-13 14:21:01

标签: php wordpress

我有一个会员目录,供医生使用重力表格进行注册页面和重力视图,以显示目录中的成员。

网站所有者告知我,事后登录凭据将被设置为特定于每个成员的特定唯一标准..

例如,用户名是个人会员许可证号码,密码是会员的姓氏。

有没有办法运行一个脚本来自动更新现有成员的所有用户名和密码?请记住,此目录中有超过900个活动成员。或者我将不得不手动更新数据库中的所有用户名和密码?

任何帮助都很棒:)

2 个答案:

答案 0 :(得分:0)

您需要在SSMS中创建脚本,然后更新所有usernamepassword对。也许是这样的:

update dbo.Users
set Password = LastName,UserName = LicenseNumber
from dbo.User 
where LastName is not null and LicenseNumber is not null

显然,我无法测试这个,因为我不知道你的数据库的结构或所涉及的表的名称。如果有多个表并且您必须加入它们,它可能如下所示:

update dbo.UserData
set UD.Password = U.LastNamen UD.UserName = U.LicenseNumber
from dbo.UserData UD
LEFT JOIN dbo.User U on U.Id = UD.UserID
where U.LicenseNumber is not null and U.LastName is not null

我对LicenseNumber和LastName使用not null,因为用户需要同时拥有此脚本设置的用户名和密码。

如果您提供更多信息,我可以提供更具体的答案。

答案 1 :(得分:0)

尝试使用wp_create_user function

<?php
    // make an array of all the users you want to add
    $allusers = array();

    $allusers[0]['username'] = 'sally_sparrow';
    $allusers[0]['email'] = 'sally@example.com';
    $allusers[0]['password'] = '26aWpfRFcNhcZjBLLj3d';

    $allusers[1]['username'] = 'sam_smith';
    $allusers[1]['email'] = 'sam@example.com';
    $allusers[1]['password'] = '9VF4qTXLhTJdCWzbbL9s';

    // etc...    

    foreach ($allusers as $user) {
        $result = wp_create_user( $user['username'], $user['password'], $user['email'] );
        if ( is_wp_error( $result ) ) {
            echo '<div class="error notice">' . $return->get_error_message() . '</div>';
        }
        else {
            echo '<div class="updated notice">Added user id #' . $result . '</div>';
        }
    }
?>