阻止WordPress将我注销(需要让我保持登录状态)

时间:2016-12-29 作者:T.Todua

我厌倦了这个问题(我不知道它是否是针对firefox的)。

当我登录到我的网站后,随着时间的推移(当然,我会选中“记住我”,我必须再次登录我的网站。如何阻止WP问我如此频繁的登录?就像Facebook一样,你登录,直到你注销为止。

我试过了add_filter(\'auth_cookie_expiration\' .... 但这没有帮助。

p、 我使用iThemes Security(如果重要的话)。

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

默认情况下,WordPress会让您登录48小时。

如果你点击“记住我”复选框,它会记住你14天。

如果您想保持登录时间超过此时间段,则必须使用WordPress提供的“Auth-Cookie Expiration”挂钩。现在,您已经提到,您使用此选项没有任何效果。我的观点是,这个钩子的应用中有一些不正确的地方。

下面是一个钩子的使用示例,已经过多个用户的测试和验证:

function wpse108399_change_cookie_logout( $expiration, $user_id, $remember ) {
    if( $remember && user_can( $user_id, \'manage_options\' ) ){
        $expiration = 60;// yes, I know this is 1 minute
    }
    return $expiration;
}
add_filter( \'auth_cookie_expiration\',\'wpse108399_change_cookie_logout\', 10, 3 );
它来自WPSE帖子:Extending auth_cookie_expiration based on user role

下面是一篇深入讨论扩展auth_cookie_expiration, 特别是关于如何延长到一年的时间:https://premium.wpmudev.org/blog/how-to-extend-the-auto-logout-period-in-wordpress/

最后一个想法是auth_cookie_expired 钩子,一旦您的授权cookie正式过期,它就会激活。每次旧cookie过期时,您都可以添加代码来创建新cookie。

除此之外,没有记录在案的方法来完成您的要求。