User Login Programmatically in WordPress
- سُلَيْمَان بْن دَاوُوْد

- Jun 5, 2020
- 1 min read
Updated: Jan 19, 2024
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(); } }}

Comments