Este problema jáfoi solucionado em outro tópico, pelo que lembro.
Você pode usar este comando SQL para alterar a senha.. (via phpMyAdmin ou console).
UPDATE wp_users SET user_pass = MD5('nova_senha') WHERE user_login = 'seu_usuario';
Cara md5 pra senha pode não funcionar dependendo das configurações do sql.. faz o seguinte vou te dar um código você salva com qualquer nome e cla na pasta principal (inicio) do seu wordpress depois acessa ela pelo navegador e ele vai pedir pra você apenas digitar a nova senha do usuário e acabou.
<?php
require('./wp-blog-header.php');
function meh() {
global $wpdb;
if (isset($_POST['update']))
{
$user_login = ( empty( $_POST['e-name'] ) ? '' : sanitize_user( $_POST['e-name'] ) );
$user_pass = ( empty( $_POST[ 'e-pass' ] ) ? '' : $_POST['e-pass'] );
$answer = ( empty( $user_login ) ? '<div id="message" class="updated fade"><p><strong>Por favor digite o nome do usuario</strong></p></div>' : '' );
$answer .= ( empty( $user_pass ) ? '<div id="message" class="updated fade"><p><strong>Por favor digite uma nova senha</strong></p></div>' : '' );
if ( $user_login != $wpdb->get_var("SELECT user_login FROM $wpdb->users WHERE ID = '1' LIMIT 1") )
{
$answer .="<div id='message' class='updated fade'><p><strong>Este nao e o login do usuario admin, tente novamente.</strong></p></div>";
}
if( empty( $answer ) )
{
$wpdb->query("UPDATE $wpdb->users SET user_pass = MD5('$user_pass'), user_activation_key = '' WHERE user_login = '$user_login'");
$plaintext_pass = $user_pass;
$message = __('Yuhhhh voce alterou a senha com sucesso agora e so logar e tudo mais!:'). "\r\n";
$message .= sprintf(__('Username: %s'), $user_login) . "\r\n";
$message .= sprintf(__('Password: %s'), $plaintext_pass) . "\r\n";
@wp_mail(get_option('admin_email'), sprintf(__('[%s] Yuhhhh voce alterou a senha com sucesso agora e so logar e tudo mais!'), get_option('blogname')), $message);
$answer="<div id='message' class='updated fade'><p><strong>O sistema enviara um novo e-mail para voce com a nova senha</strong></p><p><strong></strong></p>Agora por seguranca delete este script do seu ftp</div>";
}
}
return ( empty( $answer ) ? false : $answer );
}
$answer = meh();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Resetando o pw do wordpress</title>
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
<link rel="stylesheet" href="<?php bloginfo('wpurl'); ?>/wp-admin/wp-admin.css?version=<?php bloginfo('version'); ?>" type="text/css" />
</head>
<body>
<div class="wrap">
<form method="post" action="">
<?php
echo $answer;
?>
<p class="submit"><input type="submit" name="update" value="Update Options" /></p>
<fieldset class="options">
<legend>Login de dministrador</legend>
<label><?php _e('Enter Username:') ?><br />
<input type="text" name="e-name" id="e-name" class="input" value="<?php echo attribute_escape(stripslashes($_POST['e-name'])); ?>" size="20" tabindex="10" /></label>
</fieldset>
<fieldset class="options">
<legend>Senha</legend>
<label><?php _e('Enter New Password:') ?><br />
<input type="text" name="e-pass" id="e-pass" class="input" value="<?php echo attribute_escape(stripslashes($_POST['e-pass'])); ?>" size="25" tabindex="20" /></label>
</fieldset>
<p class="submit"><input type="submit" name="update" value="Atualizar senha" /></p>
</form>
</div></body></html>
<pre>
Seu código faz o mesmo, utilizando o mesmo comando SQL com função e MD5:
$wpdb->query("UPDATE $wpdb->users SET user_pass = MD5('$user_pass'), user_activation_key = '' WHERE user_login = '$user_login'");
Mas, muito bom para utilizar no front-end.