Php 如果已登录,则从登录页面重定向

Php 如果已登录,则从登录页面重定向,php,wordpress,Php,Wordpress,我想编写一个代码,当用户访问loginpage并已登录时,将用户重定向到特定的URL 我在这里找到了一个代码: 虽然我不知道如何将“是首页()”更改为登录页。 另外,我可以将其插入functions.php吗 <?php if (is_user_logged_in() && is_front_page() ) { wp_redirect('domain.com/pageToRedirectTo'); exit; } ?> 致以最良好的

我想编写一个代码,当用户访问
loginpage
并已登录时,将用户重定向到特定的URL

我在这里找到了一个代码:

虽然我不知道如何将“
是首页()
”更改为登录页。 另外,我可以将其插入functions.php吗

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

致以最良好的祝愿,
Andreas

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

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

不幸的是,WordPress没有附带
is\u login\u page()
功能。但是,您可以在functions.php中创建自己的函数:

然后,我将向functions.php添加以下操作挂钩:


阅读更多有关重定向模板钩子的信息。

要使其更简单,只需首先检查它是一个登录页面,然后检查您必须使用的登录页面

$GLOBALS['pagenow']

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

如果是,则重定向它

您的完整代码如下所示:

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;
   }
}

希望它能对您有所帮助。

您是否尝试过您所展示的有问题的代码?除非OP实现了自定义登录页面,否则将代码添加到登录页面将涉及编辑核心文件……谢谢!我最终使用了您的解决方案,但有一点不对劲,因为我的登录页面不在普通的wp-login.php页面上,它工作得非常好:函数redirect_logged_in_user(){if(is_user_logged_in()&&is_page('login'){wp_redirect(home_url('/website url/'));exit;}
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' );
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;
   }
}