Quando se trata de criar um aplicativo da Web com o WordPress, suas poderosas APIs facilitam muito. Adicionando ou recuperando dados com a API de opções não é realmente complicado. Mas às vezes precisamos armazenar dados temporária com prazo de validade.

O WordPress oferece um em cache via intuitiva transientes "(Transientes ou Inglês) que permitem que isso seja feito, nomeadamente armazenar dados temporário com prazo de validade. Usaremos transientes, então pensei: por que não dar uma nova olhada nesta API do WordPress?

De acordo com o WordPress Codex:

A API de Transientes é muito semelhante à API de Opções, mas com o recurso adicional de um tempo de expiração, o que simplifica o processo de uso da tabela de banco de dados wp_options para armazenar temporariamente informações em cache. .

Nesta série, os transientes são uma forma eficaz de redirecionar os usuários para a página inicial quando eles ativam um plug-in armazenando dados temporários.

Neste tutorial, vamos explorar o conceito da API Transiente (transientes) no WordPress e como ele difere da API de opções.

API Transient

Os transitórios nos fornecem os meios para armazenar temporariamente as informações em cache, fornecendo um nome personalizado (pares de valor-chave) e um prazo de validade. Uma vez que o limite de tempo definido termina, os transientes expiram e são removidos. Esses transientes melhoram o desempenho e aceleram o desempenho geral do aplicativo da web.

Mas surge a pergunta: O tempo de expiração é a única vantagem de "Transientes"?

A resposta é não ! Apesar de a API de opções servir ao mesmo propósito de armazenamento, saneamento e recuperação de dados, ela não pode fornecer o melhor desempenho possível com um grande conjunto de dados.

Com a expiração adicionada, os transientes tornam-se mais apropriados para armazenar dados temporariamente. Para garantir um número menor de solicitações da web, os transitórios têm a capacidade de armazenar dados em memória rápida, por exemplo, Memcached, em vez do banco de dados tradicional do WordPress. Também digno de nota é que os transientes são inerentemente acelerados pelo em cache plugins, onde as opções clássicas não estão. Conforme mencionado no códice:

Um plug-in Memcached, por exemplo, armazena valores transitórios do WordPress em memória rápida, em vez do banco de dados. Por esse motivo, os transitórios devem ser usados ​​para armazenar dados que expiram ou que podem expirar a qualquer momento. Também não se espera que os transitórios estejam no banco de dados, pois podem ser salvos em outro local.

Portanto, sempre que você precisar de um recurso que expira ou é removido após um determinado período de tempo, use transientes em vez de opções.

Uso de "Transientes"

Os transientes trabalham com uma interface muito simples. Você pode executar três funções básicas com estes:

  • Criar / atualizar dados com a função « set_transient »
  • Recupere dados com a função « get_transient »
  • Excluir transitórios com a função " delete_tansient »

Essas três operações básicas podem ajudá-lo a acelerar o desempenho de um aplicativo.

1 - Criação / Atualização de um transiente

Use a função  set_transient () para criar ou atualizar um pico. Esta função usa três parâmetros:

  • Chave: (tipo string) Nome do transitório. Deve ter no máximo caracteres 172.
  • Valor: (tipo misto) São os dados que devem ser armazenados. Talvez uma variável PHP ou um objeto de matriz.
  • Expiração: (digite int) tempo de vida em segundos. Padrão 0 (sem data de validade).

Takeaway: A data de expiração que você definiu é o período durante o qual o transiente será armazenado. Após este período, o transiente é removido. Mas o transiente também pode ser removido antes dessa data.

Por fazer parte do cache, pode ser excluído pelo usuário antes do tempo de expiração.

Portanto, diga a si mesmo que o tempo de expiração é um limite que nunca passará pela vida de um passageiro.

<?php set_transient( string $transient, mixed $value, int $expiration ) ?>

Os dois primeiros parâmetros são um par de ' valor chave E são obrigatórios, enquanto o terceiro parâmetro que define o tempo máximo de expiração é opcional.

Aqui está um exemplo prático:


constante de tempo no transiente

No exemplo acima, euai define 60 segundos no terceiro parâmetro, que define o tempo limite após o qual o transiente deve ser removido. De acordo com o exemplo acima, o objeto _welcome_redirect_wpw  não pode exceder os segundos de vida 60.

No WordPress 3.5, várias constantes foram introduzidas para expressar facilmente o tempo. Essas constantes tornam o código mais completo e preciso. Aqui está a lista:

MINUTE_IN_SECONDS = 60 (segundos) HOUR_IN_SECONDS = 60 * MINUTE_IN_SECONDS DAY_IN_SECONDS = 24 * HOUR_IN_SECONDS WEEK_IN_SECONDS = 7 * DAY_IN_SECONDS YEAR_IN_SECONDS_IN = 365SEC DAY_

2 - Recuperação de um transiente

Depois de salvar um valor através da função  set_transient ()você pode recuperar o valor chamando a função  get_transient ().

Leva um único parâmetro, a chave do transiente $ transient, e retorna o (tipo misto) O valor do transitório.

O formato padrão é o seguinte:


No caso do nosso exemplo, o valor é recuperado via:


Simples o suficiente? Mas o que aconteceria se o transiente não existisse ou tivesse expirado? Se for esse o caso, a função  get_transient () retorna um valor incorreto.

Eu recomendo que você use o operador de identidade (===) ao manipular a recuperação de valores de um transiente.

3 - Remoção de um transiente

Pode haver situações em que você queira remover os transitórios antes que eles expirem. A função delete_transient () você vai ajudar. Seu formato é semelhante à função get_transient ().

Ele recebe um único parâmetro, a chave do transiente $ transient, e remove o transiente permanentemente.

Aqui está o formato geral:


No nosso caso, podemos removê-lo como este:


Os usos de Transitórios

Transientes podem ser usados ​​para armazenar em cache algo (dados básicos para o widget completo). Desde o seu lançamento, os transientes foram usados ​​em diferentes projetos da web. Aqui estão alguns usos práticos de transientes:

  • Você pode usá-los em uma página inicial do seu plugin.
  • Você pode usá-los em um widget da barra lateral que lista os melhores dados de comentários.
  • Você pode acelerar os menus de navegação do WordPress com transientes.
  • Você pode armazenar em cache rótulos com transientes.

É isso neste tutorial. Espero que agora você saiba como usar a API de transientes no WordPress.