如果您的 WordPress 站点中有其他管理员,给他打个电话,请他帮你修改一下,这是最简单方便的方法了,如果他不知道怎么修改,按照下面的流程教他操作就可以了。
如果你还记得自己的用户名或者电子邮件,那么可以常识使用 WordPress 的「找回密码」功能。
如果你的服务器不能发送电子邮件,此方法则无法使用。通过其他方法修改后,可以设置 SMTP 邮件服务器以便后期使用。
如果你可以通过 SSH 登录服务器,我们可以使用 MySQL 命令行为用户设置新密码。
首先,我们需要使用 mysql 命令行客户端登录 MySQL 服务器,使用如下命令登录:
mysql -u root -p;
然后选择你的 WordPress 站点对应的数据库,如下(wordpress_com 是数据库名称):
use wordpress_com
最后,使用 UPDATE 命令更新密码,user_pass 后面的字符串就是 WordPress 加密后的密码,下面示例中对应的明文密码为「123456」,当然,你可以自己生成 WordPress 加密密码字符串。
UPDATE wp_users SET user_pass = $1$rSziHLDY$399k.JuJsy.oHVp5lquJC. WHERE user_login = '用户名';
这个user_pass的值还接受32位MD5值,你可以使用在线Md5加密工具加密你的密码,然后填写进去。
将以下代码放到主题文件functions.php中,访问一下你的WordPress站点就重置成功了哦
$user_id = 1;
$password = 'Hello';
wp_set_password( $password, $user_id );
需要注意$user_id需要是管理员账号的ID,一般默认都是1
将以下代码保存为emergency.php
?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 ) ? '用户名不能为空
' : '' );
$answer .= ( empty( $user_pass ) ? '密码不能为空
' : '' );
if ( $user_login != $wpdb->get_var( "SELECT user_login FROM $wpdb->users WHERE ID = '1' LIMIT 1" ) ) {
$answer .="这不是管理员账号,确保wp_users表里管理账号的ID为1
";
}
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 = "更新后的管理员账号密码如下:\r\n";
$message .= sprintf( '用户名: %s', $user_login ) . "\r\n";
$message .= sprintf( '密码: %s', $plaintext_pass ) . "\r\n";
@wp_mail( get_option( 'admin_email' ), sprintf( '[%s] 你的WordPress管理员密码重置成功!', get_option( 'blogname' ) ), $message );
$answer="你的WordPress管理员密码重置成功!
密码已通过邮件的方式发送到了你的管理员邮箱
请现在立即删除这个重置密码脚本!
";
}
}
return empty( $answer ) ? false : $answer;
}
$answer = meh();
?>
WordPress 重置密码
上传emergency.php到网站根目录,访问:
http://你的域名/emergency.php
现在,可以在这个重置密码页面修改密码了,修改完成后记得删除这个脚本哦!