WordPress的密码不记得了怎么办?除了通过邮件找回密码、登录phpmyadmin修改密码以外,还可以通过PHP脚本自动登录Wordpress。比如创建一个autologin.php放到wp根目录下,然后访问这个文件,就自动用指定的用户名登录站点,随后删除该文件即可。
为什么要自动登录WordPress
- 知道网站管理的用户名以及cpanel信息,不知道密码,也不能修改用户的密码。
- 本地开发图省事,不想每次都要登录站点。
自动登录Wordpress的PHP脚本
将如下内容写入一个文件,名字叫什么都可以,比如autologin.php
,放到网站根目录下。
<?php
require('wp-blog-header.php');
// Automatic login //
$username = "admin";
$user = get_user_by('login', $username );
// Redirect URL //
if ( !is_wp_error( $user ) )
{
wp_clear_auth_cookie();
wp_set_current_user ( $user->ID );
wp_set_auth_cookie ( $user->ID );
$redirect_to = user_admin_url();
wp_safe_redirect( $redirect_to );
exit();
}
然后打开浏览器,输入该文件地址,例如:
https://www.emidou.com/autologin.php
这样就能用指定的用户名自动登录WordPress了,在线站点上请勿保留此文件。
让Wordpress时刻保持登录状态
如果要让WordPress不论何时都自动登录,可以用下面的代码,代码写成插件或者放到主题的functions.php
里。
function auto_login() {
if( is_user_logged_in() ){
return;
}
$loginusername = 'admin'; //username of the WordPress user account to impersonate
// get this username's ID
$user = get_user_by( 'login', $loginusername );
if( ! $user ){
return;
}
$user_id = $user->ID;
// login as this user
wp_set_current_user( $user_id, $loginusername );
wp_set_auth_cookie( $user_id );
do_action( 'wp_login', $loginusername, $user );
// redirect to home page after logging in
wp_redirect( home_url() );
exit;
}
add_action( 'wp', 'auto_login', 1 );
这段代码的作用:只要访问站点,就会自动登录。适合某些特殊用途,比如本地站点测试不想重复登录。