为WP登录页面设置“记住我”简析

当用户登录使用Wordpress的方式登录Wordpress网站的时候,可以选择“记住我”,本文要讨论的就是这个功能。

Wordpress:记住我

未特别说明的代码都是以合适的方式添加到在用的Wordpress主题的functions.php中的。
1.自定义“记住我”的时间长度

它是通过cookie实现的,如果不勾选此项,cookie最长有效期为2天,如果勾选此项,cookie最长有效期为2周。我们如果想让cookie有效期为1年的话,可以这样做:

    add_filter( 'auth_cookie_expiration', 'cwp_custom_login_cookie' );   
    function cwp_custom_login_cookie() {   
        return 31536000; // 这是以秒为单位的1年   
    }  

如果你想设置其它时间长度,请以秒为单位自行修改上面的数字。
2.默认勾选电磁隔膜计量泵“记住我”选项

你可以设置默认勾选“记住我”,如下:

    add_filter( 'login_footer', 'cwp_always_rememberme_me' );   
    function cwp_always_rememberme_me() {   
        echo "<script>document.getElementById('rememberme').checked = true;</script>";   
    }  

 
3.隐藏“记住我”选项

    add_action('login_head', 'cwp_hide_remember_me');   
    function cwp_hide_remember_me()   
    {   
        echo '<style type="text/css">.forgetmenot { display:none; }</style>';   
    }  

 
 4. Bonus!

你可以定义在用户登录后,据用户的不同角色跳转到设定的电磁隔膜计量泵:

    //如果登录者不是管理员,就跳转至首页;如果登录者是管理员,就跳转至后台页面   
    function cwp_login_redirect($redirect_to, $request, $user){   
      
        return (is_array($user->roles) && in_array('administrator', $user->roles)) ? admin_url() : site_url();//site_url()你可以自定义为其它任何链接   
    }   http://www.hrbnu.edu.cn/
    add_filter('login_redirect', 'cwp_login_redirect', 10, 3); 

posted @ 2014-03-10 11:01  lanhe  阅读(536)  评论(0编辑  收藏  举报
数据中心