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 eigen session variabele in WordPress

    Regelmatig heb ik een sessie variabele nodig in verschillende projecten. Een hele simpele manier om dit te doen is wp session manager. Installeer en activeer de plugin, en je kan...
  • Extra velden toevoegen aan je custom post type

    Als je goed hebt nagedacht over je website structuur, dan heb je waarschijnlijk al een paar custom post types gedefinieerd, zoals testimonials, klanten, boeken, producten. Maar deze post types hebben...
  • 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...
  • Sorteren op custom taxonomie in WordPress

    Voor een project met eigen post types, maatwerk velden, en een maatwerk taxonomie structuur (Categorieën van tags zijn bijvoorbeeld een taxonomie), was het nodig om te kunnen sorteren op een...

Laat een reactie achter