Fazendo a funcionalidade de notificação de atualização para meus temas

15

a questão é simples :) Estou fazendo um tema que vou usar em muitos sites. Então, eu não quero ir todo o site e ftp os arquivos toda vez que eu corrigir um bug ou fazer um upgrade de tema.

Existe alguma maneira eu posso fazer um sistema de atualização como os plugins hospedados no diretório do plugin wordpress.

Aguardamos a sua resposta. Obrigado!

Resolvido:

Obrigado Chip Bennett por seu excelente link. A biblioteca de atualização para temas está agora disponível nesse site. Você pode encontrá-lo aqui: enlace

Sempre considere a doação se vir algum trabalho excelente disponibilizado gratuitamente.

    
por Sisir 01.05.2011 / 13:27

2 respostas

9

Você também pode conectar-se à rotina de atualização principal. (Eu estou procurando por links de tutorial, mas meu Google-fu está falhando comigo esta manhã.)

EDITAR:

Veja se este tutorial ajuda . Explica como implementar atualizações automáticas para Plugins privados / comerciais (ou seja, não hospedados no repositório).

    
por Chip Bennett 01.05.2011 / 16:30
3

Uma questão de interesse! Na verdade, acho que você deveria fazer um serviço para verificar a atualização! Como yourdomain.comn / api / update-check! Em seguida, isso pode retornar XML ou JSON ou algumas informações úteis relacionadas à atualização, como a versão, a URL do arquivo de atualização (o arquivo atualizado deve ser um arquivo zip)!

No seu tema, você pode ter:

    <?php define('OWN_THEME_VERSION', '1.1');

Assim, quando você detectou uma atualização do URL acima (yourdomain.comn / api / update-check), presume que ela retorna os dados do JSO da seguinte forma: {"version": "1.2", "file": "theme.zip"}

Você compara a versão para verificar se há nova atualização. Então mude para o tema padrão com esta função enlace (em ordem quando os usuários acessam o site, eles vêem um site de worlking)! Em seguida, seu código pode usar curl ou até mesmo file_get_contents para baixar o arquivo zip (theme.zip, neste caso)! Em seguida, você exclui todo o arquivo na pasta do seu tema, depois extrai o arquivo zip e copia seu conteúdo para a pasta do tema! Eu acho que assim deveria funcionar!

Você pode dar uma olhada no que o WordPress fez! Eu encontrei no arquivo wp-admin / includes / update-core.php, linha 288, função update_core

    
por kureikain 01.05.2011 / 14:23