2017-03-13 1 views
1

Ich habe bin ein Mitgliederverzeichnis für Ärzte mit Schwerkraft Formularen für die Registrierungsseite und die Schwerkraft Sicht, die die Mitglieder im Verzeichnis angezeigt werden ..Erstellen von benutzerdefinierten Wordpress Anmeldeinformationen Programatically

Der Inhaber die Website mir mitgeteilt, After-the-fact dass die Anmeldeinformationen auf spezifische eindeutige Kriterien festgelegt werden müssen, die für jedes Mitglied spezifisch sind.

Zum Beispiel soll der Benutzername sein, dass die Lizenznummer der einzelnen Mitglieder und das Passwort der Nachname des Mitglieds ist.

Gibt es eine Möglichkeit, ein Skript auszuführen, das automatisch aktualisiert wird a ll der Benutzernamen und Passwörter für die bestehenden Mitglieder? Beachten Sie, dass in diesem Verzeichnis über 900 aktive Mitglieder vorhanden sind. Oder muss ich alle Benutzernamen und Kennwörter in der Datenbank manuell aktualisieren?

Jede Hilfe wäre genial :)

+0

Haw sind die 'username' und' gespeichert password'? In einer Datenbank? Welche Datenbank? Wenn SQL einfach ist, eine Abfrage auszugeben, die alle 'Benutzernamen' und' Passwort's aktualisiert, würden wir Informationen über die Struktur der Datenbank und die Namen der beteiligten Tabellen und Verbindungs-IDs für Joins benötigen, wenn da muss es welche geben. – Mike

+0

Seine SQL DB .. sollte hinzugefügt haben, dass in der ursprünglichen Frage – Michael

+0

Scheint wie Nachname für den Benutzernamen und die Lizenznummer für das Passwort würde mehr Sinn machen. – squarecandy

Antwort

0

Sie müssen ein Skript in SSMS erstellen dann alle username und password Paare zu aktualisieren. Vielleicht so etwas wie folgt aus:

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

Offensichtlich kann ich nicht testen, da ich die Struktur Ihrer DB nicht kennen oder die Namen der beteiligten Tabellen. Wenn es mehr als einen Tisch sind und man muss sich anzuschließen könnte es so aussehen:

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 

ich die not null stehe sowohl mit der Lizenznummer und Name, da der Benutzer beide benötigen einen Benutzernamen und ein Passwort gesetzt haben von diesem Skript.

Wenn Sie weitere Informationen angeben, könnte ich eine genauere Antwort geben.

+0

Es ist nicht ratsam, Änderungen direkt an der Datenbank vorzunehmen, wenn es möglich ist, eine vorhandene Wordpress-Funktion für dieselbe Aufgabe zu verwenden. – squarecandy

+0

OP sagt, dass sie bereits in der DB sind, es ist viel einfacher, die DB zu aktualisieren, dann eine API von einer dritten Partei zu verwenden, um dasselbe zu tun. – Mike

+0

Die WordPress wp_create_user Funktion und wp_insert_user https://core.trac.wordpress.org/browser/tags/4.7.3/src/wp-includes/user.php#L1401 werden eine Menge Dinge tun, die die Benutzer sicherstellen sind auf eine sichere Art und Weise erstellt, die Ihre Wordpress-Website nicht brechen wird. Prüft, ob ein identischer Benutzer existiert, fügt Schrägstriche für Benutzernamen wie "Jim P. O'Malley" hinzu, bereinigt Eingaben. Außerdem werden die Kennwörter korrekt in die Datenbank geschrieben. Warum überschreiben Sie den gesamten Code selbst, wenn er bereits im Wordpress-Core vorhanden ist? – squarecandy

0

Versuchen Sie es mit den 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'] = '[email protected]'; 
    $allusers[0]['password'] = '26aWpfRFcNhcZjBLLj3d'; 

    $allusers[1]['username'] = 'sam_smith'; 
    $allusers[1]['email'] = '[email protected]'; 
    $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>'; 
     } 
    } 
?> 
Verwandte Themen