Plugin Update Checker – atualização automática de Tema/Plugin

Conheça o Plugin Update Checker, ferramenta para atualização automática de plusigns do WordPress

Existem algumas maneiras de fazer a gestão de entrega de conteúdo de um tema ou plugin próprio, que não esteja publicado no diretório de plugins do WordPress. Pode ser feito através de algumas ferramentas de automação, integrações Git ou até mesmo manualmente, subindo os arquivos via FTP.

Porém, o WordPress já possui um sistema que é responsável pelas atualizações do seu core, temas e plugin. Seria interessante aproveitar esse recurso, para fazer com que seu tema/plugin também fosse atualizado através do próprio WordPress.

Para isso, existe uma biblioteca chamada “Plugin Update Checker” (https://github.com/YahnisElsts/plugin-update-checker). Esta biblioteca permite que um tema/plugin, hospedado em algum servidor fora do diretório oficial do WordPress, funcione com as atualizações do WordPress. Para o usuário final, é o mesmo processo de atualizar um tema ou plugin publicado no diretório do WordPress.

Esta é uma opção interessante, que auxilia a manter atualizado  os temas e plugins desenvolvidos para projetos específicos. Principalmente se o tema/plugin em questão, estiver sendo usado em mais de um projeto. Basta acessar o painel administrativo do WordPress onde o tema/plugin se encontra instalado e clicar em “Atualizar”.

Neste artigo, irei exemplificar como funciona para integrar a atualização de um plugin customizado, a partir de um outro servidor. Para consultar as outras opções, basta acessar o GitHub da API (https://github.com/YahnisElsts/plugin-update-checker).

Como funciona

No servidor, teremos um arquivo chamado “info.json”, com as informações e a versão atual do plugin. Além disso, também haverá um arquivo .zip, para a distribuição da nova versão do plugin.

O plugin instalado no WordPress, quando solicitado, consulta o arquivo “info.json” e compara a versão declarada no “info.json” com a sua própria versão. Se houver uma versão mais recente, executa o download do arquivo .zip e instala a nova versão. Simples assim.

Configuração do Plugin Update Checker

A primeira coisa a ser feita, é incluir a biblioteca do Plugin Update Checker no seu plugin. Basta fazer o download da biblioteca e adicionar um “require” ao código.

PHP
require 'plugin-update-checker/plugin-update-checker.php';

    Agora, é necessário instanciar a classe do Plugin Update Checker, passando algumas propriedades:

    • a url onde estará disponível o arquivo “info.json” com a versão atual do plugin
    • o caminho completo do seu arquivo principal do seu plugin
    • um slug único

    É assim que ficaria o código:

    PHP
    $myUpdateChecker = Puc_v4_Factory::buildUpdateChecker(
      'http://example.com/path/to/details.json',
      __FILE__, //Full path to the main plugin file or functions.php.
      'unique-plugin-or-theme-slug'
    );

    Agora, é necessário editar o arquivo “info.json” com as informações necessárias. Dentro do subdiretório “examples”, do Plugin Update Checker, há um modelo completo de como deve ser estruturado o arquivo. Mas, para fins didáticos, vamos focar nas únicas informações que realmente necessárias:

    JSON
    {
      "name" : "Plugin Name",
      "version" : "2.0",
      "download_url" : "http://example.com/plugin-name-2.0.zip",
      "sections" : {
        "description" : "Plugin description here. You can use HTML."
     }
    }

    Os campos são auto-explicativos:

    • “name”: o nome do plugin
    • “version”: a versão do plugin
    • “download_url”: a url para fazer o download do arquivo .zip do plugin
    • “sections”: um novo objeto json, com o campo “description”, que por sua vez recebe o texto que será exibido, quando o WordPress mostrar que há uma atualização disponível para o plugin 

    O arquivo “info.json” deve ser hospedado na url passada quando a classe do Plugin Update Checker foi instanciada. Assim, como o arquivo .zip também deve ser hospedado na mesma url que foi passada dentro do arquivo “info.json”.

    Obviamente que o nome e a versão do plugin devem ser consistentes em todos os arquivos. Se no cabeçalho do plugin consta que a versão é a 1.0, no arquivo “info.json” também deve constar a mesma versão.

    Publicando uma nova versão do plugin

    Para publicar um novo release, basta alterar a versão do plugin (no arquivo do plugin e no “info.json”), criar um novo arquivo .zip com as alterações e fazer o upload do “info.json” e do arquivo .zip para o servidor. 

    Pronto! É só isso que é necessário. Ao entrar no WordPress, já é possível atualizar o plugin com a nova versão.

    Note que, por padrão, a biblioteca Plugin Update Checker verifica se existe uma atualização a cada 12 horas. Para plugins, é possível forçar a verificação para executar imediatamente, clicando na opção “Verificar por atualizações”. Já para temas, é necessário instalar um outro plugin, para poder forçar a verificação de atualização imediatamente. esse processo é simples e está descrito no GitHub do Plugin Update Checker (https://github.com/YahnisElsts/plugin-update-checker#how-to-release-an-update).

    Outras opções do Plugin Update Checker

    Vale a pena dar uma lida na documentação do Plugin Update Checker, para ver como integrar as atualizações automática com o repositórios do GitHub, BitBucket e GitLab. As vantagens de usar um repositório Git, é que dá para definir um branch específico de onde será feito o download do plugin, assim como usar as tags para cuidar do versionamento do plugin. Também é possível usar um repositório privado para publicar o seu plugin.

    O Plugin Update Checker é uma grande ferramenta para os desenvolvedores. O melhor de tudo, é que é de graça!

    Rolar para cima