So überprüfen Sie, ob user_login in WordPress vorhanden ist, und erstellen programmgesteuert einen neuen Benutzer, indemPhp

PHP-Programmierer chatten hier
Guest
 So überprüfen Sie, ob user_login in WordPress vorhanden ist, und erstellen programmgesteuert einen neuen Benutzer, indem

Post by Guest »

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

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post