So überprüfen Sie, ob user_login in WordPress vorhanden ist, und erstellen programmgesteuert einen neuen Benutzer, indem
Posted: 13 Jan 2025, 13:51
In meinem WP v5.8.1 erstelle ich programmgesteuert neue Benutzer aus öffentlichen Formularen mit wp_create_user. Durch die Kombination von Vorname und Nachname
wird ein neuer Benutzername erstellt
Es besteht jedoch die Möglichkeit, dass bereits ein Benutzer mit derselben Benutzeranmeldung vorhanden ist. Daher möchte ich mit der folgenden Funktion die Nummer (1,2,3,4 usw.) an den neuen user_login anhängen:
Wenn user_login existiert, gibt die obige Funktion die vorhandene user_login-Benutzer-ID zurück; Es wird kein neues user_login mit angehängter Nummer erstellt.
Bearbeiten 1:
Ich habe geändert den Code wie folgt, ohne eine separate Funktion zu schreiben:
Dies gibt ein neues user_login zurück, wenn ein Benutzer vorhanden ist; Anstatt jedoch eine neue Seriennummer aus ($count + 1) anzuhängen, wird eine weitere neue Nummer wie folgt hinzugefügt:
wird ein neuer Benutzername erstellt
Code: Select all
$new_username = strtolower(str_replace(' ', '', $_POST['first_name']) . '-' . str_replace(' ', '', $_POST['last_name']));
Code: Select all
if (username_exists($new_username)) {
create_new_username();
} else {
$new_username = $new_username;
}
function create_new_username() {
$count = 0;
while (username_exists($new_username)) :
$new_username = $new_username . '-' . $count + 1;
$count++;
if (!username_exists($new_username)) {
$create_username = $new_username;
}
endwhile;
return $new_username;
}
echo create_username();
Bearbeiten 1:
Ich habe geändert den Code wie folgt, ohne eine separate Funktion zu schreiben:
Code: Select all
$new_username = strtolower(str_replace(' ', '', $_POST['first_name']) . '-' . str_replace(' ', '', $_POST['last_name']));
if (username_exists($new_username)) {
$count = 0;
while (username_exists($new_username)) :
$new_username = $new_username . '-' . ($count + 1);
$count++;
endwhile;
}
echo $new_username;
- erster-letzter
- erster-letzter-1
- erster-letzter-1-2
- erster-letzter-1 -2-3
- erster-letzter
- erster-letzter-1
- erste-letzte-2
- erste-letzte-3