Главная Новости

Продлить сессию в WordPress


Опубликовано: 01.09.2018

видео Продлить сессию в WordPress

Правила хорошего ТОНА. Тональный крем в макияже.

По умолчанию WordPress создает куки со временем жизни два для или две недели если установлена галочка «Запомнить меня»  (Remember me).


Открылась весенняя сессия парламента Беларуси

Страница входа WordPress

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

К счастью для такого случая есть специальный фильтр позволяющий задать время жизни сессии пользователя причем в зависимости роли текущего пользователя.

Как обычно я написал небольшой плагин который можно поместить в /wp-content/mu-plugins про такой способ я писал в посте про загрузку картинок по дням вроем его можно и обычным образом активировать.

Код плагина выглядит так

<?php /* Plugin Name: Cookie shifter Plugin URI: https://alkoweb.ru/p=995 Author: Vladimir Petrozavodsky Author URI: http://alkoweb.ru */ add_filter( 'auth_cookie_expiration', function ( $expiration, $user_id, $remember ) { // Вермя жизни cookies для администратора if ( $remember && user_can( $user_id, 'manage_options' ) ) { // Если установлена галочка if ( $remember == true ) { return 20 * DAY_IN_SECONDS; } // Если не установлена return 5 * DAY_IN_SECONDS; } // Для всех остальных пользователей // Если установлена галочка if ( $remember == true ) { return 360 * DAY_IN_SECONDS; } // Если не установлена return 180 * DAY_IN_SECONDS; }, 100, 3 );

После установки плагина для администратора куки живу 5 или 20 дней (в зависимости от галочки «Запомнить меня» ).

Для всех остальных ролей пользователей куки живут 360 или 180 дней.

При желании можно изменить код под свои нужды что бы это сделать было легче можно использовать константы WordPress содержащие временные интервалы в секундах

Минута в секундах — MINUTE_IN_SECONDS Час в секундах — HOUR_IN_SECONDS День в секундах -DAY_IN_SECONDS Неделя в секундах — WEEK_IN_SECONDS Год в секундах -YEAR_IN_SECONDS

Умножая эти константы на какое либо число  число можно получить желаемое время в секундах.

В этот раз я решил подойти комплексно, выложил плагин в Github и описал фильтр .

rss