Qual é a maneira mais fácil de impedir o WP de me desconectar


28

Após um certo período de tempo, o WP efetua logout de todos os usuários e os força a efetuar login novamente. Para ambientes de desenvolvimento em minha máquina local, isso é desagradável e absolutamente desnecessário.

Existe uma maneira orientada por API de desativar o logoff automático indefinidamente? Idealmente, gostaria de algo que eu possa adicionar wp-config.phpjuntamente com outras configurações relacionadas à instalação do desenvolvedor.

Um plug-in seria um exagero para mim, por isso não considero uma resposta, mas você pode publicá-lo como uma opção.

Respostas:


27

Por padrão, a caixa de seleção "Lembrar-me" faz com que você seja lembrado por 14 dias. Isso é filtrável.

Este código alterará esse valor:

add_filter( 'auth_cookie_expiration', 'keep_me_logged_in_for_1_year' );

function keep_me_logged_in_for_1_year( $expirein ) {
    return 31556926; // 1 year in seconds
}

11
Isso é exatamente o que eu precisava. Eu acho que uma constante para esse valor seria realmente útil, mas um filtro é a próxima melhor coisa. Eu poderia até create_function()fazer isso em uma linha.
Jerclarke

2
create_function()é lento e dificulta a remoção do filtro. É uma prática recomendada usar uma função. :)
Viper007Bond

Você pode até obter uma versão recente do PHP e escrevê-la como fechamento: php.net/manual/en/functions.anonymous.php - o WordPress suporta isso. Apenas não fique no seu caminho e não use create_function () por mais tempo. Isso é péssimo.
hakre

11
YEAR_IN_SECONDSpode ser usado em seu lugar 31556926. Existem outras constantes também. (Ver wp-includes/default-constants)
Upeksha

11
@Upeksha: No momento em que essa resposta foi escrita, essas constantes não existiam. ;) Você está certo, porém, de que agora que o fazem, seria melhor usá-los.
precisa saber é o seguinte

4

Isso tem mais a ver com a maneira como o navegador armazena os cookies. Quando você faz login, ele deve salvar o cookie e o WordPress lê para ver se você está autenticado (pelo menos é o que eu entendo).

Em todas as instalações locais de desenvolvimento, meu nome de usuário é admin e minha senha é admin. Não acho que oito letras sejam realmente um grande problema, mas talvez eu digite mais rápido?


Uso backups dos bancos de dados ativos e naqueles sempre tenho senhas fortes em todas as contas de administrador. Também tenho frequentemente nomes de usuários diferentes para sites diferentes e, em muitos casos, o Firefox tem dificuldade em diferenciar minhas instalações locais diferentes para fins de preenchimento automático.
Jerclarke

Exatamente, as configurações do seu navegador substituem a função "lembre-se de mim".
Brad Dalton

-2

Isso funciona, se você o colocar em wp-config.php?

function wp_validate_auth_cookie($cookie='',$scheme='') {
    return 1; // admin user id
}

Não completamente testado. Isso não significa "nunca me desconecte", mas "trate todos como administradores".


5
NUNCA USE NA PRODUÇÃO !!! Parece uma instalação de sandbox.
Arlen Beiler

2
NÃO FAZÊ-LO ou você será hackeado rapidamente!
T.Todua
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.