如果已登录

时间:2015-12-15 10:20:29

标签: php wordpress

当用户访问loginpage并且已经登录时,我想编写一个代码来将用户重定向到特定的网址。

我在这里找到了一个代码:https://wordpress.org/support/topic/redirect-if-already-logged-in

虽然我不知道如何更改" is_front_page() "到登录页面。 另外,我可以在functions.php中插入它吗?

<?php
  if (is_user_logged_in() && is_front_page() ) {
     wp_redirect('domain.com/pageToRedirectTo');
     exit;
  }
?>

祝你好运, 安德烈亚斯

3 个答案:

答案 0 :(得分:1)

不幸的是,WordPress并没有提供is_login_page()功能。但是,您可以在 functions.php

中创建自己的
function is_login_page() {
    return in_array( $GLOBALS['pagenow'], array( 'wp-login.php', 'wp-register.php' ) );
}

然后我会将以下操作挂钩添加到 functions.php

function redirect_logged_in_user() {
    if ( is_user_logged_in() && is_login_page() ) {
        wp_redirect( home_url('/pageToRedirectTo/') ); 
        exit;
    }
}
add_action( 'template_redirect', 'redirect_logged_in_user' );

详细了解template_redirect hook in the Codex

答案 1 :(得分:0)

为了方便起见,首先检查是否为登录页面并检查您必须使用的登录页面

  

$ GLOBALS [&#39; pagenow&#39;]

如果是,则检查用户是否已登录。

如果是,则重定向。

您的完整代码如下所示:

if ( in_array( $GLOBALS['pagenow'], array( 'wp-login.php', 'wp-register.php' ) ) ){
   if ( is_user_logged_in()){
        wp_redirect( home_url('domain.com/pageToRedirectTo/') ); 
        exit;
   }
}

希望它会对你有所帮助。

答案 2 :(得分:-1)

您可以将此代码放入登录页面或header.php ,以将登录用户重定向到特定页面:

<?php 
    if (is_user_logged_in() ) {
        wp_redirect (home_url("/yourpage") );
        exit;
    }
?>