如何使用CURRENT_USER_CAN()?

时间:2010-11-24 作者:Joann

因为这对我不起作用。此代码检查用户是否刚刚注册。如果有,我想将他重定向到自定义页面。否则,请将他重定向到主页或管理页面。

function mylogin_redirect($redirect_to, $url_redirect_to = \'\', $user = null) {
    if( $user->ID ) {
        $user_info = get_userdata( $user->ID ); 
        // If user_registered date/time is less than 48hrs from now
        // Message will show for 48hrs after registration
        if ( strtotime( $user_info->user_registered ) > ( time() - 172800 ) ) {
            return get_bloginfo(\'url\') . "/custompage/";
        } elseif( current_user_can( \'manage_options\' )) {
            return admin_url();
        } else {
            return get_bloginfo(\'url\');
        }
    }
}
add_filter(\'login_redirect\', \'mylogin_redirect\');
我得到了这两个选项的预期结果,但管理。elseif( current_user_can( \'manage_options\' )) { return admin_url(); } 似乎没有被解析。

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

可能是因为全球$current_user 尚未生效,由使用current_user_can().

但是,您可以使用它;

if ($user->has_cap(\'manage_options\')) { return admin_url(); }

结束

相关推荐

Login form in popup

我将WP3与defaul主题一起使用。我希望人们在提交评论之前注册。我想做的是建立一个链接,而不是像“留下评论”这样的评论表单。单击此链接将打开一个弹出窗口,其中包含登录/注册表单或评论表单(如果用户已登录)。这可能吗?谢谢