Custom JS code enqueued in active theme functions.php
var userdata = {
'action' : 'signin_member',
'username' : jQuery('#user_name').val(),
'password' : jQuery('#password').val()
};
jQuery.ajax({
url : yup.ajaxurl,
type : 'POST',
data : userdata,
beforeSend: function() {
},
success: function(response) {
responseobj = jQuery.parseJSON(response);
if (responseobj['flag'] == 'success') {
jQuery('#message').text(responseobj['message']);
}
if( '' != responseobj['redirecturl'] ){
window.location.href = responseobj['redirecturl'];
}
}
});
});
Code to be added on active themes functions.php
add_action('wp_ajax_signin_member','signin_member_callback');
add_action('wp_ajax_nopriv_signin_member','signin_member_callback');
function signin_member_callback(){
if(trim($_POST["username"] == '' ) || trim($_POST["password"] == '' ) ){
echo json_encode(array('flag'=>'failure','message'=> 'Please enter both username and password.' ));
}else
{
$user_login = esc_attr($_POST["username"]);
$user_password = esc_attr($_POST["password"]);
$creds = array();
$creds['user_login'] = $user_login;
$creds['user_password'] = $user_password;
$creds['remember'] = true;
$user = wp_signon( $creds, false );
$userID = $user->ID;
wp_set_current_user( $userID, $user_login );
wp_set_auth_cookie( $userID, true, false );
do_action( 'wp_login', $user_login );
if (is_wp_error($user) ) {
echo json_encode(array('flag'=>'failure','message'=> 'Invalid username or password.' ));
die();
} else {
wp_set_auth_cookie( $user->ID, 0, 0);
echo json_encode(array('flag' => 'success','message' => 'Logged in sucessfully','redirecturl' => get_field('community_page','option') ));
die();
}
}
}

