大家都知道WordPress的生态圈还是很完善的,很多WordPress主题都集成了前端登录和注册功能,WordPress默认的登录页面wp-login.php就显得很鸡肋了,于是很多人都会想着不让其他人访问WordPress自带的wp-login.php登录页面。今天就来说一下纯代码实现WordPress访问wp-login.php重定向到指定页面,比如重定向到用户中心,或者登录注册页面的方法。
以下所有的代码都是添加进当前使用主题的functions.php中!
代码一、访问wp-login.php重定向到指定页面。
function zm_custom_login(){
global $pagenow;
if( ‘wp-login.php’ == $pagenow && $_GET[‘action’]!=”logout”) {
wp_redirect(‘https://wwwlinkfung.com/’);
exit();
}
}
global $pagenow;
if( ‘wp-login.php’ == $pagenow && $_GET[‘action’]!=”logout”) {
wp_redirect(‘https://wwwlinkfung.com/’);
exit();
}
}
代码二、重定向到指定页面,且不影响重置密码时访问
第一段代码当重置密码时也会跳转,如果你的前端登录注册没有重置密码功能,可以用下面这个代码,即可以阻止访问wp-login.php,同时又不影响重置密码时访问。
// 重定向wp-login.php
add_action(‘init’, ‘lf_redirect_wp_login’);
function lf_redirect_wp_login() {
// WP全局变量
global $pagenow;
// 如果设置了$_GET[‘action’],则加载到$action变量中
$action = (isset($_GET[‘action’])) ? $_GET[‘action’] : ”;
// 判断是否在登录页面,并且不是重置密码
if( $pagenow == ‘wp-login.php’ && ( ! $action || ( $action && ! in_array($action, array(‘logout’, ‘lostpassword’, ‘rp’, ‘resetpass’))))) {
// 重定向的网址
$page = ‘https://www.linkfung.com/’;
// 重定向
wp_redirect($page);
// 停止执行
exit();
}
}
add_action(‘init’, ‘lf_redirect_wp_login’);
function lf_redirect_wp_login() {
// WP全局变量
global $pagenow;
// 如果设置了$_GET[‘action’],则加载到$action变量中
$action = (isset($_GET[‘action’])) ? $_GET[‘action’] : ”;
// 判断是否在登录页面,并且不是重置密码
if( $pagenow == ‘wp-login.php’ && ( ! $action || ( $action && ! in_array($action, array(‘logout’, ‘lostpassword’, ‘rp’, ‘resetpass’))))) {
// 重定向的网址
$page = ‘https://www.linkfung.com/’;
// 重定向
wp_redirect($page);
// 停止执行
exit();
}
}
以上就是关于纯代码实现WordPress访问wp-login.php重定向到指定页面的两种方法,其中涉及到域名地址的位置,您需要修改为自己的地址就好了。
评论前必须登录!
立即登录 注册