Local padrão para o plug-in salvar / armazenar arquivos em cache?

9

Existem diretrizes oficiais sobre onde um plug-in deve armazenar em cache arquivos?

Caso contrário, existe uma prática recomendada por aí que eu possa seguir?

Por exemplo, um plug-in captura o conteúdo de um sistema back-end se beneficia do armazenamento em cache do arquivo, para que não busque repetidamente o mesmo conteúdo no back-end.

A pesquisa aqui e em outros lugares é difícil, pois a maioria das consultas leva a plug-ins de cache ou tutoriais de banco de dados.

Meu instinto diz para colocá-los em um subdiretório de wp-content/uploads.

Meu instinto secundário seria manter os arquivos dentro da árvore de diretórios do plugin. Isso mantém os dados do plug-in agrupados, mas não segue (o que parece ser) a arquitetura do WordPress em que o conteúdo do usuário está /uploads.

Matthew Bakaitis
fonte

Respostas:

6

Seria bom se o WordPress tivesse um diretório de cache baseado em padrões, mas como não acho, a melhor opção é mantê-lo na própria pasta do plugin.

Na minha opinião, uploads para uploads reais e arquivos de cache não são realmente considerados como tal. Eu acho que é mais fácil gerenciar, reduz possíveis conflitos e, para ser honesto, é onde eu procuraria se um plugin tivesse essa funcionalidade.

tl; dr: Os arquivos de cache fazem parte da funcionalidade de um plug-in específico e devem ser fornecidos com ele.

Wyck
fonte
1
O problema dessa abordagem é que muitas pessoas desabilitam o acesso de gravação a partir de qualquer coisa, exceto a pasta de uploads.
Kraftner
1
Quando um plug-in é atualizado, o WP exclui completamente o plug-in antigo e o recria. Portanto, mesmo se você definir permissões especificamente para um diretório de cache em um plug-in, cada atualização removerá não apenas os arquivos em cache, mas também qualquer rastreio dessas permissões de gravação.
Jason
Eu já vi alguns fazendo WP_CONTENT_DIR / cache, e acho que vou fazer a transição para isso depois de ter feito uma solução na pasta do plugin por um tempo. Como Jason disse, os dados podem ser desnecessariamente perdidos e, além disso (embora não seja um problema para usuários casuais), o tamanho da pasta do plug-in pode aumentar desproporcionalmente, enquanto eu gosto de pensar nessa pasta como uma representação justa do que saiu da caixa.
Lucas Sawczak
1

Se você não precisa armazenar dados muito grandes, consulte a API de transientes do Wordpress:

http://codex.wordpress.org/Transients_API

Seus dados serão tratados pelo Wordpress com um prazo de validade. Eu acho que é o mais "caminho wordpress" para armazenar dados em cache.

Andrea
fonte
Nesse caso, os dados podem ser bem grandes ... mas eu realmente gosto dessa abordagem do Transients para coisas menores. Obrigado por apontar isso. :)
Matthew Bakaitis
0

Sentado com o mesmo "problema". No começo, eu estava pensando em armazenar esse cache como uma opção, mas meu cache simplesmente era muito grande e, portanto, não funcionou. Talvez essa seja uma alternativa se seu cache nunca for realmente grande. Por exemplo, se você estiver se comunicando com uma API e puder fazer apenas algumas solicitações por hora e que a resposta de retorno não seja muito longa. :)

gubbfett
fonte