Как добавить функцию «Запомнить меня» в пользовательском окне входа? - PullRequest
1 голос
/ 26 апреля 2010

В моей теме есть пользовательская страница для входа в систему. Функция входа в файл functions.php выглядит следующим образом

   function log_in($username, $password) {

    $user = parse_user($username);

    $username = $username;
    $password = $password;

    if(isEmptyString($username)) return new WP_Error('username', 'required');
    if(isEmptyString($password)) return new WP_Error('password', "required");
    if(!wp_check_password( $password, $user->user_pass ) ) return new WP_Error('wrong_password', "wrong");

    wp_set_auth_cookie($user->ID, $remember);
    wp_login($username, $password);

    redirect_profile();

}

function parse_user($info = null, $return = 'object') {
    if ( is_null( $info ) ) {
        global $current_user;
        if ( empty( $current_user->ID ) ) return null;
        $info = get_userdata( $current_user->ID );
    }
    elseif ( empty( $info ) ) {
        return null;
    }
    if( $return == 'ID' ) {
        if ( is_object( $info ) ) return $info->ID;
        if ( is_numeric( $info ) ) return $info;
    }
    elseif( $return == 'object' ) {
        if ( is_object( $info ) && $info->ID) return $info;
        if ( is_object( $info )) return get_userdata( $info->ID );
        if ( is_numeric( $info ) ) return get_userdata( $info );
        if ( is_string( $info ) ) return get_userdatabylogin( $info );
    }
    else {
        return null;
    }
}

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

Ответы [ 2 ]

1 голос
/ 26 апреля 2010

Кнопки "запомнить меня", как правило, просто настраивают внутреннюю настройку файлов cookie. Вместо файла cookie сеанса, который удаляется при выходе из браузера, файл cookie «Запомнить меня» получает некоторую будущую точку истечения (день, месяц, год и т. Д.), Поэтому он будет сохраняться после закрытия браузера. .

В псевдокоде вы получите:

if (form_value('remember_me') == 'yes) {
     set_long_term_cookie();
} else {
     set_session_cookie();
}
0 голосов
/ 26 апреля 2010

«Добавить форму входа в свою тему WordPress» (включая функцию запомнить меня): http://www.wprecipes.com/add-a-login-form-on-your-wordpress-theme

Также: http://www.problogdesign.com/how-to/how-to-create-a-wordpress-login-form-overlay/

и т. Д. *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...