Para a versão 4.3, o WordPress deixou a função get_transient()
da Transient API mais rigorosa. A Transient API é uma funcionalidade do WordPress que armazena dados em cache temporariamente no banco de dados, eliminando consultas pesadas a serem executadas no servidor a cada acesso ou atualização da página.
Afinal, foi encontrado algum erro na Transient API?
Conforme relatado nos tickets #23881 e #30380, a função tinha uma verificação no código que poderia remover opções de tempo limite (tempo limite para a exclusão de um dado de transição) de forma inesperada.
Percebe-se na imagem acima, em vermelho, que a função get_option
pode retornar false
e false
é < time()
. Com isso, a função get_transient
poderia remover opções de tempo limite de forma inesperada ou causar outras duas consultas desnecessárias ao banco de dados.
Qual a solução usada para resolver o problema na Transient API?
Observando a mesma imagem no tópico anterior, em verde, o WordPress 4.3 agora verifica o valor de retorno primeiro antes de comparar com o tempo atual, não removendo mais dados de transição quebrados via get_transient()
se você tiver removido o tempo limite.
Para remover manualmente um transient, certifique-se que você está removendo a opção _transient_timeout_$transient
e a '_transient_' . $transient
.