Как отключить автоматический выход из WordPress
После определенного периода времени WordPress автоматически выходит из системы всех пользователей и заставляет их входить снова. Для среды разработки на моей локальной машине это раздражает и совершенно не нужно.
Существует ли способ отключения автоматического выхода через API на неопределенный срок? В идеале хотелось бы что-то, что можно добавить в wp-config.php
вместе с другими настройками для разработки.
Плагин был бы излишним для моего случая, поэтому я не буду рассматривать его как решение, хотя вы можете предложить его как вариант.

По умолчанию флажок "Запомнить меня" сохраняет вашу авторизацию на 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 год в секундах
}

Это именно то, что мне было нужно. Думаю, константа для этого значения была бы очень полезна, но фильтр — следующая лучшая вещь. Я даже мог бы использовать create_function()
, чтобы сделать это в одну строку.

create_function()
работает медленно и усложняет удаление фильтра. Лучшей практикой является использование функции. :)

Вы даже можете получить свежую версию PHP и написать это как замыкание: http://php.net/manual/en/functions.anonymous.php - WordPress поддерживает это. Просто не мешайте себе и больше не используйте create_function(). Это отстой.

Ой, подождите, это не работает в wp-config.php :( Чтобы использовать это, мне понадобится плагин, который будет использовать эту функцию позже, когда add_filter() станет доступен.

О, если вам нужно это в wp-config.php, думаю, вам придётся клонировать всю функцию из pluggable.php
. Довольно громоздко.

Вместо 31556926
можно использовать YEAR_IN_SECONDS
. Есть и другие константы. (Смотрите wp-includes/default-constants
)

Это больше связано с тем, как ваш браузер хранит куки. Когда вы входите в систему, он должен сохранять куки, а WordPress считывает их, чтобы проверить вашу аутентификацию (по крайней мере, так я это понимаю).
Во всех локальных установках для разработки мое имя пользователя - admin, а пароль - admin. Я не считаю ввод 8 символов большой проблемой, но возможно, я печатаю быстрее?

Я использую резервные копии рабочих баз данных, и в них у меня всегда установлены сложные пароли для всех учетных записей администраторов. Также я часто использую разные имена пользователей для разных сайтов, и во многих случаях Firefox испытывает трудности с различением моих разных локальных установок для целей автодополнения.
