WordPress で特定ユーザーのログインを保存する時間を変更する

WordPress でログイン状態を保存するにチェックを入れた際に保存される期間がデフォルトでは 14 日間であるのを、特定のユーザーのみ変更させる。

以下のフィルターフックを functions.php に追加する。

/**
 * ログイン状態を保存する時間を設定.
 *
 * @param int  $length ログイン状態を維持する時間(秒).
 * @param int  $user_id ユーザーID.
 * @param bool $remember ユーザーのログインを記憶するかどうか。デフォルトは false.
 * @access public
 * @return int
 */
function modify_auth_cookie_expiration( $length, $user_id, $remember ) {
    $user_names = array(
        'mike',
    );

    $user = get_userdata( $user_id );

    if ( false !== $user && in_array( $user->user_login, $user_names, true ) ) {
        $sec  = 60;
        $min  = 60;
        $hour = 24;
        $day  = 365;
        return $sec * $min * $hour * $day;
    }

    return $length;
}

add_filter( 'auth_cookie_expiration', 'modify_auth_cookie_expiration', 10, 3 );
«