Her er en guide til, hvordan du kan oprette en bruger programmatisk i WordPress ved hjælp af PHP.

Med følgende kodestykke som skal indsættes i functions.php-filen kan man oprette en bruger programmatisk. Funktionen aktiveres når WordPress funktionerne initialiseres, hvilket vil sige hver gang du loader en side. Hvis du kopier kodestykket til din hjemmeside så husk at udfylde med dine egne brugeroplysninger 🧐


// Funktion til at oprette en bruger programmatisk
function create_user_programmatically() {
    // Definér brugeroplysninger
    $username = 'nybruger';
    $password = 'lennartc123';
    $email = 'lennartc@eksempel.dk';

    // Tjek om brugeren allerede eksisterer
    if (username_exists($username) || email_exists($email)) {
        return;
    }

    // Opret brugeren
    $user_id = wp_create_user($username, $password, $email);

    // Tildel brugerrollen
    $user = new WP_User($user_id);
    $user->set_role('subscriber'); // kan også være andre roller fx. "administrator"
}

// Kør funktionen, når WordPress er initialiseret
add_action('init', 'create_user_programmatically');

Hvordan virker funktionen og er den sikker?
I denne kode definerer vi brugeroplysningerne, såsom brugernavn, adgangskode og e-mail. Vi tjekker derefter, om brugeren allerede eksisterer ved at bruge username_exists() og email_exists() funktionerne. Hvis brugeren ikke eksisterer, bruger vi wp_create_user() til at oprette brugeren med de angivne oplysninger. Til sidst tildeler vi brugerrollen ved hjælp af set_role() metoden på WP_User objektet.

Når du har indsat denne kode i dit tema, vil funktionen blive udført hver gang WordPress initialiseres. Dette betyder, at en ny bruger vil blive oprettet med de angivne oplysninger, hver gang du besøger din WordPress-side. Husk derfor at fjerne funktionen, hvis den ikke længere er i brug.

Det er vigtigt at være opmærksom på, at programmatisk oprettelse af brugere kan have sikkerhedsmæssige konsekvenser. Sørg altid for at implementere passende sikkerhedsforanstaltninger og validering af brugeroplysninger for at undgå misbrug.