Transient API do WordPress 4.3, o que mudou?

Para a versão 4.3, o WordPress deixou a função get_transient() da Transient API mais rigorosa, evitando remover opções de tempo limite de forma inesperada. Confira esta review completa.

Seus amigos merecem saber desse conteúdo?

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.

O que muda na função get_transient() no WordPress 4.3

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.

Assista à gravação do Webinar WordPress 4.3 para Desenvolvedores