The following tutorial column of WordPress will introduce to you the WordPress login form that does not require entering a password. I hope it will be helpful to friends in need!
WordPress login form without password
If you want to add a password-free login form to your WordPress theme, just enter the user A form that allows you to log in using your name or email can be implemented using the following method.
Copy the following code and paste it where you want to display the form
<form autocomplete="off" method="post"> <div class="form-group"> <input id="userlog" name="userlog" type="text" placeholder="<?php echo esc_attr__('Username/email', 'theme-domain'); ?>" class="form-control" required="required"> </div> <input type="hidden" name="action" value="my_login_action" /> <button type="submit"><?php echo esc_html__('Login', 'theme-domain'); ?></button> </form>
Then, paste the following code into the theme function template functions.php:
add_action('init', function(){ // Return if not the login request if( !isset( $_POST['action'] ) || $_POST['action'] !== 'my_login_action' ) return; $result; $username = $_POST['userlog']; if ( ! $result ) { $result = get_user_by( 'email', $username ); // user email } if ( ! $result ) { $result = get_user_by('login', $username ); // user name } if ( !is_wp_error($result) ){ wp_clear_auth_cookie(); wp_set_current_user($result->ID); wp_set_auth_cookie($result->ID); wp_redirect( home_url( '/' ) ); exit; } die(); });
Only suitable for specific occasions Use, under normal circumstances if others know your login information, it is very risky to use this function...
The above is the detailed content of How to implement a WordPress login form without entering a password. For more information, please follow other related articles on the PHP Chinese website!