a pergunta é simples :) Estou criando um tema que vou usar em muitos sites. Então, eu não quero ir a todo o site e enviar arquivos ftp toda vez que eu corrigir um bug ou fazer uma atualização de tema.
Existe alguma maneira de fazer um sistema de atualização como os plugins hospedados no diretório de plugins do wordpress.
Aguardamos a sua resposta. Obrigado!
Resolvido:
Agradeço a Chip Bennett pelo excelente link. A biblioteca de atualização de temas agora está disponível nesse site. Você pode encontrá-lo aqui: http://w-shadow.com/blog/2011/06/02/automatic-updates-for-commercial-themes/
Sempre considere a doação se vir um excelente trabalho disponibilizado gratuitamente.
theme-development
updates
Sisir
fonte
fonte
Respostas:
Você também pode se conectar à rotina principal de atualização. (Estou procurando links de tutoriais, mas meu Google-fu está falhando comigo esta manhã.)
EDITAR:
Veja se este tutorial ajuda . Ele explica como implementar atualizações automáticas para plug-ins particulares / comerciais (ou seja, não hospedados em repositórios).
fonte
pre_set_site_transient_update_plugins
pre_set_site_transient_update_plugins
executa apenas o tema ativado no site principal. todas as outras atualizações de temas personalizados não serão verificadas, mesmo que sejam vários sites e ativem outro tema personalizado em outros sites.Uma questão de interesse! Na verdade, acho que você deve fazer um serviço para verificar a atualização! Como seudomínio.comn / api / update-check! Isso pode retornar XML ou JSON ou algumas informações úteis relacionadas à atualização, como versão, o URL do arquivo de atualização (o arquivo atualizado deve ser um arquivo zip)!
No seu tema, você pode ter:
Portanto, quando você detectou uma atualização acima da url (seudominio.comn / api / update-check), suponha que ele retorne dados JSO da seguinte forma: {"version": "1.2", "file": "theme.zip"}
Você compara a versão para verificar se há nova atualização! Em seguida, mude para o tema padrão com esta função http://codex.wordpress.org/Function_Reference/switch_theme (para quando os usuários acessam o site, eles veem um site em funcionamento)! Em seguida, seu código pode usar curl ou file_get_contents para fazer o download do arquivo zip (neste caso, theme.zip)! Em seguida, você exclui todos os arquivos da sua pasta de temas, extrai o arquivo zip e copia seu conteúdo na pasta de temas! Eu acho que assim deve funcionar!
Você pode dar uma olhada no que o WordPress fez! Descobri que está no arquivo wp-admin / includes / update-core.php, linha 288, função update_core
fonte