在一定时间后,WP将注销所有用户,并强制他们重新登录。对于我本地计算机上的开发环境,这是令人讨厌的,而且绝对是不必要的。

是否存在API驱动的无限期禁用自动注销的方法?理想情况下,我希望可以将其与其他与dev-setup相关的设置一起添加到wp-config.php中。并将其作为选项发布。

#1 楼

默认情况下,“记住我”复选框可让您记住14天。不过,这是可以过滤的。

此代码将更改该值:

add_filter( 'auth_cookie_expiration', 'keep_me_logged_in_for_1_year' );

function keep_me_logged_in_for_1_year( $expirein ) {
    return 31556926; // 1 year in seconds
}


评论


这正是我所需要的。我认为此值的常量将非常有用,但是过滤器是下一个最好的选择。我什至可以使用create_function()在一行上执行此操作。

–jerclarke
2010年8月19日在1:40

create_function()很慢,很难删除过滤器。最佳做法是使用函数。 :)

– Viper007Bond
2010年8月19日在22:46



您甚至可以获取最新的PHP版本并将其写为闭包:php.net/manual/en/functions.anonymous.php-WordPress支持。只是不要妨碍自己,也不要再使用create_function()。糟透了

– hakre
10年8月20日在10:15

可以改用YEAR_IN_SECONDS31556926。还有其他常量。 (请参阅wp-includes / default-constants)

– Upeksha
13年1月18日在4:21

@Upeksha:在编写此答案时,这些常量不存在。 ;)您是正确的,尽管现在这样做了,最好使用它们。

– Viper007Bond
13年1月19日在21:04

#2 楼

这与浏览器存储Cookie的方式有关。登录时,它应该保存cookie,而WordPress会读取它,以查看您是否通过了身份验证(至少这是我对它的了解)。

在所有本地开发人员上,我的用户名均为admin,密码为是管理员。我发现8个字母确实没什么大不了,但是也许我打字速度更快?

评论


我使用实时数据库的备份,在这些备份中,我在所有管理员帐户中始终具有强密码。对于不同的站点,我通常也使用不同的用户名,并且在许多情况下,Firefox很难区分用于自动完成目的的不同本地安装。

–jerclarke
2010年8月19日在1:46

确实,您的浏览器设置将覆盖“记住我”功能。

–布拉德·道尔顿(Brad Dalton)
2014年12月23日12:19在

#3 楼

如果将其放在wp-config.php中,是否可以正常工作?

function wp_validate_auth_cookie($cookie='',$scheme='') {
    return 1; // admin user id
}


未经充分测试。它并不是说“从不注销我”,而是“以管理员身份对待所有人”。

评论


切勿在生产中使用!!!听起来像沙盒安装。

– Arlen Beiler
10年8月20日在2:20

不要这样做,否则您将很快被黑!

–T.Todua
16年6月30日在14:05