What this problem looks like
WordPress stores password hashes in wp_users.user_pass. You never store plain text passwords in the database.
If login fails after a correct reset, the issue is often cookies, security plugins, or wrong site URL rather than the password itself.
Step 1: Reset via wp-login email
- Visit
example.com/wp-login.php?action=lostpassword. - Enter the admin username or email.
- Open the email link within the expiry window.
- Choose a new strong password.
Step 2: Reset with WP-CLI on SSH
Only run these commands if you have SSH access to the server.
wp user list --role=administrator
wp user update admin --user_pass='NewStrongPassw0rd!' Step 3: Reset in phpMyAdmin
Open wp_users, find your admin row, and edit user_pass. WordPress expects a phpass hash, not plain text.
Easiest path: use WP-CLI over SSH or a one-time functions.php snippet that calls wp_set_password().
add_action( 'init', function () {
if ( isset( $_GET['emergency_reset'] ) && $_GET['emergency_reset'] === 'CHANGE_ME' ) {
wp_set_password( 'TemporaryPass123!', 1 );
}
} ); Step 4: When password reset does not fix login
Check siteurl and home URLs, then disable security plugins via File Manager, SFTP, or FTP.
Rename wp-content/plugins to plugins.disabled to deactivate all plugins at once. If login works, rename back to plugins and reactivate plugins one at a time in wp-admin.
Brute-force plugins may lock your IP. Wait or whitelist your IP after you regain access.
Step 5: Create a new admin user on SSH
Only run this command if you have SSH access to the server.
wp user create newadmin [email protected] --role=administrator --user_pass='NewStrongPassw0rd!' When to stop DIY and hire help
Repeated lockouts often mean malware or a broken auth plugin. BugShield fixes WordPress login issues at a confirmed fixed price when password resets alone do not work.