0

在我网站的主页上,我有一个登录表单,如果他们已登录,我会使用以下代码重定向到另一个 URL。

function add_login_check()
{
     
     if (is_user_logged_in()) {
        if (is_page(416)){
            wp_redirect('https://mywebsite.com/abcd/');
            exit; 
        }
    }
}
add_action('wp', 'add_login_check');

有了这个我想实现,如果一旦你登录,你返回登录页面,你将被重定向到会员区。

问题是,在 WooCommerce 结帐中,如果用户登录(用户注销工作正常),它会永远加载,我读到如果 ajax 加载器无法检测到首页,它的板条箱会出现致命错误(首页是登录用户的重定向发生的位置)。

如果我禁用前面的代码,结帐工作正常,但我需要对登录用户进行此重定向。

我能做些什么来防止无休止的加载?

4

1 回答 1

0

解决了!遵循 @LoicTheAztec 的建议 using template_redirect,我用谷歌搜索了一下,现在使用以下代码结帐和重定向都可以正常工作。

function custom_redirects() {
 
    if ( is_user_logged_in() && is_front_page() ) {
        wp_redirect('https://mywebsite.com/abcd/');
        die;
    } 
 
}
add_action( 'template_redirect', 'custom_redirects' );
于 2020-07-30T15:10:39.047 回答