Beveiliging Code snippets Plugins

Een password reset email sturen na automatisch aanmaken van een WordPress gebruiker

Soms is het nodig om via maatwerk code gebruikers aan te kunnen maken in WordPress, hetzij via een import, hetzij via een “maak gebruiker aan” knop aan de front-end van de website waarmee je andere gebruikers wilt aanmelden. Het is dan wel handig als de nieuwe gebruiker een wachtwoord in kan stellen.

Ik dacht eerst gebruik te maken van de resetpassword link, maar dan moet de gebruiker eerst zijn email adres invullen, daarna krijgt hij een reset link per email, en vervolgens kan de gebruiker via de link het wachtwoord resetten. Het is natuurlijk veel handiger als de gebruiker direct de tweede link krijgt.

Daarvoor moet je een key aanmaken, de password reset key. Deze is tijdelijk geldig.

De onderstaande code genereert een email. Denk erom dat de functie die de email stuurt nog wel geschreven moet worden. Kijk hiervoor bij dit artikel

function dtc_send_password_reset_mail($user_id){

    $user = get_user_by('id', $user_id);
    $firstname = $user->first_name;
    $email = $user->user_email;
    $adt_rp_key = get_password_reset_key( $user );
    $user_login = $user->user_login;
    $rp_link = '<a href="' . wp_login_url()."/resetpass/?key=$adt_rp_key&login=" . rawurlencode($user_login) . '">' . wp_login_url()."/resetpass/?key=$adt_rp_key&login=" . rawurlencode($user_login) . '</a>';

    if ($firstname == "") $firstname = "gebruiker";
    $message = "Hi ".$firstname.",<br>";
    $message .= "An account has been created on ".get_bloginfo( 'name' )." for email address ".$email."<br>";
    $message .= "Click here to set the password for your account: <br>";
    $message .= $rp_link.'<br>';

    //deze functie moet je zelf nog toevoegen. 
    dtc_send_email($email, __("Your account on ".get_bloginfo( 'name'), "dtc"), $message);

}

Related Articles

  • Je WordPress website vertalen

    Wil je je website meertalig maken? Dat is een ander onderwerp. Dit artikel gaat over het vertalen van thema’s en plugins, die vaak in het Engels zijn. Altijd die “read...
  • Export functie naar .csv maken

    Als je in je eigen WordPress plugin of thema een export functie wil maken naar een .csv bestand kan dat heel eenvoudig. Op de plek waar je de link wil...
  • Cross site authenticatie voorkomen voor gebruikers op WordPress multisite

    Ik ben op dit moment bezig met een applicatie die deels werkt met het authenticeren van gebruikers op basis van het domein waarmee ze inloggen: verschillende gebruikers kunnen bij een...
  • Je WordPress website sneller maken

    Een WordPress website kan behoorlijk snel zijn: WordPress is niet zozeer de vertragende factor. Wat de snelheid vaak drukt is een zeer configureerbaar theme, of een combinatie van een theme...

Laat een reactie achter