我想覆盖默认WordPress登录页:wp-login.php
.
原因是,我想在文件的顶部编写一些自定义代码,检查后端的一些条件,并执行诸如将用户重定向到其他页面之类的操作。
我想这样做是因为我想在自定义文件中执行自己的身份验证逻辑,而不显示默认的WordPress登录表单。我的逻辑包括解析一些cookie和会话数据(特别是没有登录表单,可能是自定义表单)。
我真的想把我的逻辑写在header.php
子主题的文件,但不幸的是wp-login.php
文件不包括主题的头文件。
我不想编辑wp-login.php
我担心我所有的修改都会随着WordPress的更新而丢失。
有没有一种方法可以在WordPress更新后安全地覆盖WordPress登录页面而不会导致任何损失?
或者是否可以将所有请求路由到wp-login.php
, 到一个自定义PHP文件,以便我可以在该文件中写入所有逻辑?
最合适的回答,由SO网友:Tom J Nowell 整理而成
不要修改core,而是使用actions和hooks系统
add_action( \'login_init\', \'yourloginoverrides\' );
function yourloginoverrides() {
// do some check and call wp_redirect if its true or whatever you wanted to do
}