2012-02-08 5 views

cevap

0

elle yapmanız gerekir. Ne yazık ki, Wordpress bunu yapmak için herhangi bir seçeneğe sahip değildir.

kendiniz SO bu benzer question bkz Bunu yapmak için.

Ya da Wordpress varsayılan oturum zaman aşımı değerini değiştirmenize olanak sağlar this eklentisini yüklemeyi deneyebilirsiniz.

40

Basitçe Temanızın functions.php bu kodu ekleyin:

add_filter('auth_cookie_expiration', 'my_expiration_filter', 99, 3); 
function my_expiration_filter($seconds, $user_id, $remember){ 

    //if "remember me" is checked; 
    if ($remember) { 
     //WP defaults to 2 weeks; 
     $expiration = 14*24*60*60; //UPDATE HERE; 
    } else { 
     //WP defaults to 48 hrs/2 days; 
     $expiration = 2*24*60*60; //UPDATE HERE; 
    } 

    //http://en.wikipedia.org/wiki/Year_2038_problem 
    if (PHP_INT_MAX - time() < $expiration) { 
     //Fix to a little bit earlier! 
     $expiration = PHP_INT_MAX - time() - 5; 
    } 

    return $expiration; 
} 
+1

bu çerez sona erme zamanı veya sunucuda oturum sona erme zamanı değiştiriyor mu? Aynı şey değildir ve sadece çerez son kullanma süresinin değiştirilmesi, uzun oturumların güvenlik riskini azaltmaz. – Andrew

+3

Şaşırtıcı bir şekilde, WordPress PHP oturumlarını hiç kullanmaz. Sadece çerezleri kullanır. Ve bunlara hashed isimleri ile bir sayı kullanır, bu yüzden doğrudan onlarla uğraşmak istemezsiniz, bunun gibi filtrelerle WordPress yolunu veya WordPress API'lerini arayarak. Örneğin. WordPress * Çekirdek * oturumları kullanmaz: Eğer geçerli kullanıcı çıkış yapmak istiyorsanız, wp_clear_auth_cookie(), http://codex.wordpress.org/Function_Reference/wp_clear_auth_cookie – sootsnoot

+2

Tam açıklama çağırabilir. Bazı eklentiler olabilir. Emin olmak istiyorsanız, eklentilerinizin kaynak kodunu aramak zorundasınız. Kabul edilen cevabın referansının, bir WordPress kullanıcısının oturum açma durumunu etkilemeyen PHP oturum süresinin kontrol edilmesiyle ilgili bir makaleye ait olduğunu hatırlıyorum. – sootsnoot