如何为特定页面制作自定义客户端登录页面

时间:2013-08-03 作者:Suresh KUMAR Mukhiya

我想在主页上制作客户端登录表单,当客户端登录时,我希望客户端登录到特定页面。除非登录,否则如果尝试登录到该页面,则必须重定向到主页。

我试着用,Theme my login 但没有得到理想的解决方案。我试图创建自己的小部件区域,并通过密码保护页面。我面临的问题很少。

如何获取用户输入并对其进行清理,我尝试使用wordpress esc\\u attr、esc\\u js、esc\\u html方法,[是否足够]

  1. 我将页面重定向到受密码保护的页面,但密码没有触发登录
  2. 一旦我登录到受密码保护的页面,即使我清除了缓存或cookie,它似乎也不会注销
2 个回复
最合适的回答,由SO网友:Brooke. 整理而成

这是一篇很好的文章,它解释了一种解决方案,可以实现我个人使用过的目标。http://justintadlock.com/archives/2012/10/16/how-i-run-a-membership-site

在您的情况下,您需要自定义th3_club_member_template 功能如下:

add_filter( \'template_redirect\', \'nifty_log_in_check\', 99 );

function nifty_log_in_check( $template ) {

    if ( is_page(\'clients_only\' ) ) && !current_user_can( \'view_client_content\' ) ) //change this to suite your needs 
    {
        wp_redirect( home_url() );
        exit();
    }
}
然后,您可以使用主题“我的登录”来设置登录表单。

用户登录后,您可以手动重定向它们或使用类似的插件Peters Login Redirect

要手动重定向它们,可以执行以下操作:

function nifty_login_redirect( $redirect_to, $request, $user ){
    //is there a user to check?
    global $user;
    if( isset( $user->roles ) && is_array( $user->roles ) ) {
        //check for admins
        if( in_array( "administrator", $user->roles ) ) {
            // redirect them to the default place
            return $redirect_to;
        } else {
            return home_url().\'/client-area\'; //change this
        }
    }
    else {
        return $redirect_to;
    }
}
add_filter("login_redirect", "nifty_login_redirect", 10, 3);

[Codex]

SO网友:zioncg

我们公司使用WP Client,这是一个允许创建客户端门户的插件。。。您可以为每个客户机制作一个,并控制他们登录时看到的内容。

您甚至可以自定义登录页面。。。安装起来很容易,支持也很好。

以下是网站:http://wp-client.com

结束