首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将Wordpress的登录/注册页面重定向到自定义登录/注册页面

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

Stack Overflow用户
提问于 2009-12-30 04:29:46
回答 4查看 31.7K关注 0票数 17

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

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

提前谢谢你。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-12-30 05:04:50

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

代码语言:javascript
复制
 add_action('init','possibly_redirect');

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

Stack Overflow用户

发布于 2012-09-12 15:44:47

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

代码语言:javascript
复制
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');
票数 18
EN

Stack Overflow用户

发布于 2014-09-25 06:25:07

如果您正在使用自定义登录页面,但仍在使用wp_login_form(),请注意表单将发送到wp-login.php,因此您需要在重定向之前检查$_POST是否为空。

代码语言:javascript
复制
function prefix_wp_login_redirect() {
  global $pagenow;  
  if( $pagenow == 'wp-login.php' && empty($_POST)) {
    auth_redirect();
    exit();
  }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1976781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档