Wp-login.php-将登录用户重定向到自定义URL

时间:2017-06-16 作者:AppleTechy

当用户访问时/wp-login.php 并且已经登录,如何将其重定向到自定义URL?我发现同样的问题被问到和回答了,只是关于谁重定向到管理面板,但我不想这样做,我想重定向到一个特定的URL。(wp-login.php -- redirect logged in users to custom URL).

我特别想将他们重定向到my_home_URL.com/my-account 我将如何实现这一点?如有任何建议或指导,将不胜感激!

编辑:我几乎没有成功,但在访问时使用了以下功能wp-login.php 它确实成功地重定向到我设置的URL。但是,无论用户是否登录,它都会执行此重定向。如何修复它以使其成功运行is_user_logged_in()?

function redirect_logged_in_user() 
{
    if( is_user_logged_in ) {
      wp_redirect(\'http://customurl\');
    }
}

global $pagenow;
if( $pagenow == \'wp-login.php\')     
redirect_logged_in_user();

1 个回复
最合适的回答,由SO网友:Luckyfella 整理而成

可能只是一个拼写错误。尝试写入:

\\u user\\u logged\\u是否已登录()

看起来好像忘了()

UPDATE:

因为您不想在每次加载页面时重定向,所以必须挂接重定向。我在此举一个例子(摘自文档并略加编辑):

<?php
function daro_login_redirect( $redirect_to, $request, $user ) {
    //is there a user to check?
    if ( isset( $user->roles ) && is_array( $user->roles ) ) {
        //check for admins
        // edit this part accordingly to your login needs:
        // maybe you can skip the else statement
        if ( in_array( \'administrator\', $user->roles ) ) {
            // redirect them to the default place
            return $redirect_to;
        } else {
            return home_url();
        }
    } else {
        return $redirect_to;
    }
}

add_filter( \'login_redirect\', \'daro_login_redirect\', 10, 3 );

结束

相关推荐

强制下载TEMPLATE_REDIRECT挂钩中的文件

在我的功能中。php文件我为template\\u重定向挂钩添加了一个自定义操作,该挂钩必须强制下载存储在服务器上的文件。当下载的代码位于Wordpress之外的一个简单PHP文件中时,它可以正常工作。但是,只要我在模板重定向挂钩中添加此代码,该功能就会被破坏。Chrome表示“无法访问该网站…ERR\\u INVALID\\u RESPONSE”。没有错误500或其他错误。。。以下是下载代码:<?php $filename = $_SERVER[\'DOCUMENT_ROOT\'] . \