1

I'm trying to use WordPress as a website CMS for a kiosk. Each kiosk needs a unique username therefore it must be logged in to WordPress.

I believe WordPress does not use Session ID's therefore how can I ensure the user is never logged out of the site even after X days of inactivity?

Thanks in advance.

4

6 回答 6

3

WordPress 5.3 更新:

如果您不想使用该插件 - 编辑第 830 行,pluggable.php其中定义了在选中“记住我”时设置 cookie 的天数。默认为 14,您可以根据自己的喜好更改,即 365:

$expiration = time() + apply_filters( 'auth_cookie_expiration', 
                                       365 * DAY_IN_SECONDS, 
                                       $user_id, $remember );

比使用插件更容易和更好,只记得在 WP 更新后验证文件。干杯!

于 2020-01-30T04:02:15.050 回答
3

auth_cookie_expiration简单地使用过滤器怎么样

add_filter('auth_cookie_expiration', function(){
    return YEAR_IN_SECONDS * 2;
});
于 2020-03-24T12:04:29.793 回答
2

我实际上已经创建了一个插件来处理这个问题。它使用持久登录的想法来真正让用户一直登录到您的 wordpress 网站,就像 Facebook 的做法一样。

看看吧,希望对你有帮助!

WP 持久登录

于 2014-09-26T14:26:00.093 回答
1

您可以尝试为 Wordpress 配置会话时间。不幸的是,Wordpress 不允许您轻松地操纵它。

你可以试试这个插件:http ://wordpress.org/extend/plugins/configure-login-timeout/

于 2012-08-13T20:31:08.780 回答
0

似乎有混合接受的答案。首先,您永远不应该修改 wordpress 核心代码。曾经。其次,根据 wordpress 开发者法典,这里需要使用“ auth_cookie_expiration ”过滤器。

add_filter ( 'auth_cookie_expiration', 'wpdev_login_session' );
 
function wpdev_login_session( $expire ) { // Set login session limit in seconds
    return YEAR_IN_SECONDS;
    // return MONTH_IN_SECONDS;
    // return DAY_IN_SECONDS;
    // return HOUR_IN_SECONDS;
}
于 2022-01-09T04:29:59.867 回答
0

您可以使用插件“ WP 登录超时设置”来实现此目的。在“设置→登录超时”下,它允许您为正常登录和勾选“记住我”框的登录超时配置。

这与已经推荐的“ configure-login-timeout ”插件的作用相同。只是“WP 登录超时设置”目前似乎得到了更积极的维护。

于 2017-03-25T01:23:26.097 回答