![](/img/trans.png)
[英]Using auth_cookie_expiration in wordpress to time out cookie but not for administrator
[英]Extend auth_cookie_expiration cookie in WordPress
我们的一位客户希望具有一种特定用户角色的用户保持登录状态两周。 他想在登录时自动选择“记住我”复选框。
通过使用https://developer.wordpress.org/reference/hooks/auth_cookie_expiration/函数并添加一些JS自动选择登录页面上的“记住我”复选框,我已经能够解决90%的问题。
我的问题:
您是否知道此扩展是否可行以及如何实现?
我的问题似乎与此有关如何在wordpress中更改会话过期时间的问题类似:
请参阅最后一条评论:“我相信此解决方案将无法解决问题的'非活动'部分。此方法将更改Cookie的有效期,但无论用户是否处于活动状态,都将注销用户。WP似乎无法根据用户活动更新cookie过期-登录后设置一次”
您可以在用户访问任何页面时执行此操作,您需要验证当前用户是否已登录并符合所需的用户角色,然后更新它的Cookie。
/* Renew cookie at every page load */
function renew_wp_cookie() {
//Return early if its on login/logout page
if(in_array($GLOBALS['pagenow'], array('wp-login.php'))) return;
if (is_user_logged_in() && current_user_can('user_role')) {
$current_logged_user = get_current_user_id();
wp_set_auth_cookie($current_logged_user, true);
}
}
add_action('init', 'renew_wp_cookie');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.