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.solagirl.net/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 );
这段代码的作用:只要访问站点,就会自动登陆。适合某些特殊用途,比如本地站点测试不想重复登陆。