Wordpress无法识别已记录的用户

时间:2017-07-24 18:18:50

标签: php wordpress

我有一个只能由某些用户角色访问的自定义页面模板。如果访问者未登录或没有给定角色,则会将其重定向到登录页面。

问题是,如果用户在登录之前尝试访问此页面,他无论如何都会被重定向(登录后) - 问题只有在清除浏览器数据和重新启动后才能解决。如果用户先登录然后尝试访问该页面,则不会发生这种情况。

function ts_restrict_user_access() {

    if ( is_page_template( 'templates/ts-sample.php' ) ) {

        $redirect = true;

        if ( is_user_logged_in() ) {

            $user = wp_get_current_user();

            if ( in_array( 'worker', (array) $user->roles ) || in_array( 'administrator', (array) $user->roles )) {
                $redirect = false;
            }
        } 

        if ( $redirect ) {
            wp_redirect( esc_url( home_url( '/login' ) ), 301 );
       }

    }
}

1 个答案:

答案 0 :(得分:0)

如果您正在使用任何缓存插件,请将其禁用并再次尝试使用您的代码。

我已经简化了你的代码,请看下面的内容。

retrieveData(buildUrl(urlString));