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.

jerclarke
fonte

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
}
Viper007Bond
fonte
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?

curtismchale
fonte
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".

Annika Backstrom
fonte
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