Em algumas situações precisamos dar manutenção em projetos WordPress e é necessário que nenhum usuário faça uso da aplicação, principalmente os usuários logados e com acesso a área administrativa.
Vou ensinar uma forma simples e eficaz de forçar os usuários a fazerem login novamente, ou seja, forçar o logout de quem está em atividade. Antes disso, é importante reforçar a necessidade de desativar o arquivo wp-login.php (localizado na raiz de uma instalação WordPress), para os usuários não efetuarem o login novamente enquanto você faz a manutenção.
A desativação do referido arquivo pode ser feita, por exemplo, renomeando-a ou o excluindo temporariamente. Ou ainda, fazendo uso dos ganchos presentes no arquivo e bloquear o acesso. Fica a seu critério.
Logout automático através do wp-config.php
Cenário compreendido e arquivo wp-login.php desativado, vamos agora à mágica de efetuar o logout automático dos usuários através do arquivo wp-config.php.
Esse arquivo reside oito constantes em que seus valores são chaves únicas de autenticação e salts. O que precisamos fazer é simples: alterar seus valores e pronto. Observe abaixo um exemplo das constantes:
define('AUTH_KEY', '04kNdqj^fp[N=|E5l& Wy-?iB4N4HQRnf}XWoMh~Y6/])vo|7E7,wNl.i]K[W~!X'); define('SECURE_AUTH_KEY', 'M4-sXCa|hnEeO&7]!5Lj+h<FQ9^REx@&S+z&;tE`Y)Oke02a1Nvcn^0l,z4vzA9'); define('LOGGED_IN_KEY', 'wFv{097yq$ckFY8.2Rq3OG<6#Pqb-+8-;Mq_f?_ph*H3`LO.sRp]$h2Y1m^JTrA<'); define('NONCE_KEY', '!J{=~8.Edpp#1! ;9wc|AbuA~;N,7vW1p-:.>^Y`A/`]3>whvDL[5eiA )`>n&Sg'); define('AUTH_SALT', '+sR92&m0as^nx]goH%}^f8F;)Fie#-@=}i$b;y[`](5N~;u|c:,%|-qbaE=(:8SN'); define('SECURE_AUTH_SALT', 'l-P~179G3)6+i~/R{]enk-Oa-J<+*9(O,KzLq+yT<y>s#|}mq-~q>3&cS(>B= nE'); define('LOGGED_IN_SALT', 'eW8A>?AiF&VZBl1.1hjt>O?G^N5?X&=;8_O%8u{M12T2gto|(^Gg2+8u7Ghp;.'); define('NONCE_SALT', 'a[_=@;)-4MVrPE+x5R~ ^Lk;-I+^U|Yt?A%8V+PBwh8cqqQ#BpjWLGg1*v&QB7W_');O WordPress.org mantém um serviço para gerar essas chaves de forma automática e facilitada. Basta acessar o endereço https://api.wordpress.org/secret-key/1.1/salt/, copiar as chaves e colar no arquivo wp-config.php substituindo as anteriores.
Com isso, todos os cookies que foram criados serão desvalidados, forçando os usuários a efetuarem um novo login.
Conclusão
O arquivo wp-config.php nos permite configurar o WordPress de forma avançada e já abordamos várias possibilidades no portal da Apiki.
Faça uso moderado da técnica aqui apresentada, uma vez que ela impactará imediatamente todos os usuários logados em seu projeto WordPress.