您的当前位置:首页 > 知识博客 > wordpress建站

WordPress 自定义注册登录移除 wp-login.php

时间:2024-04-04

WordPress自定义登陆页面

本站曾经介绍过如何修改WordPress默认的登陆界面。但是那篇文章并没有涉及如何移除wp-login.php文件。今天我在查看一个主题的代码时发现了解决问题的方法。

其实这个方法非常简单,只需要在WordPress的初始化过程中添加一个功能即可。代码会判断是否有访问wp-login.php的GET请求,并重定向到自定义的登陆地址。另外,在这个过程中需要注意,在自定义的登陆界面中需要向wp-login.php发送注册和登陆数据,所以不能使用POST请求。

重定向wp-login.php到自定义登陆页面

add_action('init',function(){
$page_viewed=basename($_SERVER['REQUEST_URI']);
if($page_viewed==="wp-login.php" && $_SERVER['REQUEST_METHOD']==='GET'){
wp_redirect(home_url());
exit;
}
});

登陆失败后跳转到自定义登陆页面

在处理登陆失败的情况时,同样需要跳转到自定义的登陆失败页面。

add_action('wp_login_failed',function(){
wp_redirect(home_url('?login=failed'));
exit;
});

登出后跳转到自定义登陆页面

最后我们需要在用户登出后也设置一个跳转链接。可以让用户重定向到首页,或者一些其他的页面。

add_action('wp_logout',function(){
wp_redirect(home_url('?login=failed'));
exit;
});


欢迎咨询/Welcome to inquire
tel/vx:18842938855
qq:1685522781
email:1685522781@qq.com

Copyright © 2019-2024 wordpress.wang


Whatsapp