将Wordpress的登录/注册页面重定向到自定义登录/注册页面

2022-08-30 21:38:32

我有一个网站,有一个用户系统。我想将wordpress的用户系统集成到该网站中,但我仍然想使用该网站的注册/登录页面。我不希望任何人能够使用Wordpress的登录或注册表单登录或注册。相反,当他们尝试访问Wordpress中的登录/注册页面时,我希望这些页面将它们重定向到我自己的登录/注册页面。

有什么办法可以做到这一点吗?我尝试过Google,但我所能找到的只是在用户登录或注册后重定向,这不是我想要的。

提前感谢您。


答案 1

为此,您需要将登录/注册页面重定向到自定义页面。因此,将此代码写在您的文件中 在激活的主题文件夹下。将自定义页面路径作为参数传递。functions.php

 add_action('init','possibly_redirect');

function possibly_redirect(){
 global $pagenow;
 if( 'wp-login.php' == $pagenow ) {
  wp_redirect('http://google.com/');
  exit();
 }
}

答案 2

为了限制仅对“wp-login.php”的直接访问,没有POST或GET请求(对于自定义ajax登录表单很有用),我使用高级功能:

function possibly_redirect(){
  global $pagenow;
  if( 'wp-login.php' == $pagenow ) {
    if ( isset( $_POST['wp-submit'] ) ||   // in case of LOGIN
      ( isset($_GET['action']) && $_GET['action']=='logout') ||   // in case of LOGOUT
      ( isset($_GET['checkemail']) && $_GET['checkemail']=='confirm') ||   // in case of LOST PASSWORD
      ( isset($_GET['checkemail']) && $_GET['checkemail']=='registered') ) return;    // in case of REGISTER
    else wp_redirect( home_url() ); // or wp_redirect(home_url('/login'));
    exit();
  }
}
add_action('init','possibly_redirect');

推荐