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
Code: Select all
$new_username = strtolower(str_replace(' ', '', $_POST['first_name']) . '-' . str_replace(' ', '', $_POST['last_name']));
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:
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();
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:
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;
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:
- erster-letzter
- erster-letzter-1
- erster-letzter-1-2
- erster-letzter-1 -2-3
Dabei brauche ich die Benutzernamen wie Dies:
- erster-letzter
- erster-letzter-1
- erste-letzte-2
- erste-letzte-3
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[code]$new_username = strtolower(str_replace(' ', '', $_POST['first_name']) . '-' . str_replace(' ', '', $_POST['last_name']));
[/code]
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:
[code]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();
[/code]
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.
[b]Bearbeiten 1:[/b]
Ich habe geändert den Code wie folgt, ohne eine separate Funktion zu schreiben:
[code]$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;
[/code]
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:
[list]
[*]erster-letzter
[*]erster-letzter-1
[*]erster-letzter-1-2
[*]erster-letzter-1 -2-3
[/list]
Dabei brauche ich die Benutzernamen wie Dies:
[list]
[*]erster-letzter
[*]erster-letzter-1
[*] erste-letzte-2
[*]erste-letzte-3
[/list]