Forget Password in WordPress

Forget Password in WordPress

AJAX call in JavaScript

jQuery('#forgetpassbutton').click(function(e){
        e.preventDefault();
        jQuery.ajax({
            type: 'POST',
            url : code.ajaxurl,
            data: { 
                    'action'        : 'send_forgetpassword_mail',
                    'memberid'      : jQuery('#useremail').val()
            },
            success: function(response){
                responseobj = jQuery.parseJSON(response);
                jQuery('#message').text(responseobj['message']);
                
            },
            error: function (data) {
            
            }
        });
      });

Add this function to functions.php

add_action('wp_ajax_send_forgetpassword_mail','send_forgetpassword_mail_callback');
add_action('wp_ajax_nopriv_send_forgetpassword_mail','send_forgetpassword_mail_callback');
function send_forgetpassword_mail_callback(){
	$useremail    = sanitize_text_field($_POST['memberid']);
	$userdetails  = get_user_by(  'email', $useremail );
	$user_id      = $userdetails->data->ID;
	if($userdetails){
		$password    = wp_generate_password(6,true); 
		wp_set_password(  $password,  $user_id );
		$subject      = 'Updated Account Details for psychodramacertification.org'  ;
		$message = ':::
Updated Account Details
Login URL'.site_url('member-login').'
Username'.$userdetails->data->user_login.'
Password'.$password.'
'; $headers = array('Content-Type: text/html; charset=UTF-8','Reply-To: Admin <'.get_option('admin_email').'>','Cc:'.get_option( 'mm_global_email_setting')); wp_mail($useremail , $subject, $message, $headers); } if($password){ echo json_encode(array('flag' => 'success','message' => 'Your new password has been sent to your registered email address.','redirecturl' => '' )); }else{ echo json_encode(array('flag'=>'failure','message'=> 'User account is not activated.' )); } die; }

Leave a Reply

Your email address will not be published. Required fields are marked *