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

  • Bepaalde post types niet cachen in WP Rocket

    Om een site snel te krijgen gebruik ik vaak WP Rocket: volgens mij een van de snelste caching plugins voor WordPress. Als een pagina gecached wordt, wordt deze eigenlijk opgeslagen...
  • Custom images met het juiste WordPress formaat tonen

    Vaak wil je meer afbeeldingen in je website dan alleen de standaard featured image in WordPress. Dit is op zich niet moeilijk. Met Custom Meta Boxes 2 heb je een...
  • Bij vorige volgende posts binnen dezelfde categorie blijven

    WordPress heeft een hoop functionaliteiten ingebouwd, zoals ook bijvoorbeeld de get_previous_post(), get_next_post(), of get_previous_post_link() functies. Maar wat als je de vorige (of volgende) post wilt van dezelfde categorie? Dat lijkt...
  • Een WordPress website beveiligen

    WordPress is enorm populair, en niet alleen onder doorgewinterde ontwikkelaars. Juist doordat het zo eenvoudig op te zetten en uit te breiden is zijn er ook veel doe het zelvers...

Laat een reactie achter