auth_cookie_expiration
Дозволяє змінити час життя cookie, що використовуються для авторизації користувачів.
Використання
add_filter( 'auth_cookie_expiration', 'wp_kama_auth_cookie_expiration_filter', 10, 3); /** * Function for `auth_cookie_expiration` filter-hook. * * @param int $length Duration of expiration period in seconds. * @param int $user_id User ID. * @param bool $remember Whether to remember the user login. * * @return int */ function wp_kama_auth_cookie_expiration_filter( $length, $user_id, $remember ){ // Filter... return $length; }
-
$length
(число) - Тривалість життя cookie за секунди.
-
$user_id
(число) - ID користувача.
-
$remember
(true/false) -
Показує чи була обрана галочка “Запам’яті” під час авторизації. Зазвичай, запам’ятовуючи час життя куков збільшується ще.
Типово: false
Приклади
#1 Продовжити сесії всіх користувачів удвічі від поточного значення
add_filter( 'auth_cookie_expiration', 'my_auth_cookie_expiration', 20, 3); function my_auth_cookie_expiration( $expiration, $user_id, $remember ) { return $expiration * 2; }
#2 Продовжити сесію в залежності від ролі користувача
Продовжити сесію адміністратора до 20 днів, якщо встановлена галочка “Запам’ятати мене” і до 5 днів, якщо не встановлена.
Для всіх інших користувачів продовжити сесії до півроку, якщо галочка “Запам’ятати мене” не встановлена і до року якщо встановлена.
add_filter( 'auth_cookie_expiration', 'cookie_expiration_new', 20, 3); function cookie_expiration_new ( $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; }
список змін
З версії 2.8.0 | Введено. |
Де викликається хук
auth_cookie_expiration
auth_cookie_expiration
wp-includes/pluggable.php 981
$expiration = time() + apply_filters( 'auth_cookie_expiration', 14 * DAY_IN_SECONDS, $user_id, $remember );
wp-includes/pluggable.php 990
$expiration = time() + apply_filters( 'auth_cookie_expiration', 2 * DAY_IN_SECONDS, $user_id, $remember );
Де використовується хук у WordPress
Використання не знайдено.