jQuery codes:
jQuery(\'form#loginFormSubmit\').submit(function (e) {
e.preventDefault();
var $this = $(this);
var $userName = $this.find(\'#userNameLogin\').val();
var $password = $this.find(\'#passwordLogin\').val();
// var $_nonce = $(\'meta[name="_nonce"]\').attr(\'content\');
var $_nonce = $this.find(\'#nonceLogin\').val();
var $rememberMe = $this.find(\'#rememberMe\').prop(\'checked\');
jQuery.ajax({
url: customData.ajax_url,
type: \'post\',
dataType: \'json\',
data: {
action: \'loginToSite\',
userName: $userName,
password: $password,
rememberMe: $rememberMe,
_nonce: $_nonce
},
success: function (response) {
if (response.success) {
$(\'.loginRegisterResponse\').fadeIn().addClass(\'successToLogin\').find(\'p\').text(response.msg);
let delay = 3000;
setTimeout(function () {
window.location = response.redirect;
}, delay);
} else {
$(\'.loginRegisterResponse\').fadeIn().find(\'p\').text(response.msg);
}
},
error: function (error) {
}
});
});
ajax php codes:
check_ajax_referer(\'ajax_login_form\', \'_nonce\', true);
$loginInstance = new registerAndLogin($_POST[\'userName\'], $_POST[\'password\']);
$response = [];
$success = true;
$userName=$loginInstance::$userName;
$password = $loginInstance::$password;
$rememberMe=isset($_POST[\'rememberMe\']);
$user = wp_authenticate_username_password(null, $userName, $password);
if (is_wp_error($user)) {
$success = false;
if (!$success) {
$response[\'success\'] = $success;
$response[\'msg\'] = __("User name or password are incorrect", THEME_NAME);
}
wp_die(json_encode($response));
}
$creds = array();
$creds[\'user_login\'] = $userName;
$creds[\'user_password\'] = $password;
$creds[\'remember\'] = true;
$userLoggedIn = wp_signon($creds, false);
if (is_wp_error($userLoggedIn)) {
$success = false;
if (!$success) {
$response[\'success\'] = $success;
$response[\'msg\'] = $userLoggedIn->get_error_message();
}
wp_die(json_encode($response));
}
if ($success) {
$response[\'success\'] = $success;
$response[\'redirect\'] = home_url();
$response[\'msg\'] = __("hi ", THEME_NAME) . $userName . __(\' , you signed in to site successfully\', THEME_NAME);
}
wp_die(json_encode($response));
And html code :
<form id="loginFormSubmit" class="forms_form" action="<?php echo get_the_permalink() ?>" method="post">
<fieldset class="forms_fieldset">
<div class="forms_field">
<input class="forms_field-input" id="userNameLogin" type="text" name="userName" placeholder="<?php echo __(\'username\', THEME_NAME); ?>"
required autofocus>
</div>
<div class="forms_field">
<input id="passwordLogin" type="password" class="forms_field-input" name="password" placeholder="<?php echo __(\'password\', THEME_NAME); ?>"
required>
</div>
<div class="col-auto my-1">
<div class="custom-control custom-checkbox mr-sm-2">
<input type="checkbox" id="rememberMe" class="custom-control-input">
<label class="custom-control-label" for="rememberMe">
<?php echo __(\'Keep me Signed in\', THEME_NAME); ?></label>
</div>
</div>
</fieldset>
<div class="forms_buttons">
<button type="button" class="forms_buttons-forgot">
<?php echo __(\'Forgot password?\', THEME_NAME); ?>
</button>
<input type="submit" value="<?php echo __(\'Log In\', THEME_NAME); ?>" class="forms_buttons-action">
</div>
<div class="group loginRegisterResponse">
<p></p>
</div>
<?php echo do_shortcode(\'[bws_google_captcha]\'); ?>
<?php wp_nonce_field(\'ajax_login_form\', \'nonceLogin\'); ?>