Atualizações para um plugin privado?

107

Se eu escrever um plugin privado, existe alguma maneira de usar o mecanismo de atualização automática do WordPress para atualizá-lo?

Eu quero encapsular a funcionalidade, mas ela é específica dos meus 5 ou mais blogs, por isso não é um bom candidato para o recurso público de plug-ins. Mas eu amo o mecanismo de atualização fácil.

Existe uma maneira de fazer isso?

    
por artlung 11.08.2010 / 21:43
fonte

7 respostas

43

Parece que o código aplicável está em wp-includes/update.php , wp_update_plugins() :

$to_send = (object) compact('plugins', 'active');

$options = array(
    'timeout' => ( ( defined('DOING_CRON') && DOING_CRON ) ? 30 : 3), 
    'body' => array( 'plugins' => serialize( $to_send ) ),
    'user-agent' => 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' )
);  

$raw_response = wp_remote_post('http://api.wordpress.org/plugins/update-check/1.0/', $options);

Ele verifica especificamente o api.wordpress.org. Tecnicamente falando, seria possível passar uma chave dentro de $to_send para delegar a verificação, mas, até onde sei, não é um recurso suportado.

Se você conectar a set_site_transient_update_plugins , você poderá adicionar seus próprios detalhes de pacote a essa variável. Parece que esses valores serão confiáveis quando você executar o atualizador de plug-ins. Veja wp-admin/update.php e wp-admin/includes/class-wp-upgrader.php . Dado o código nessas duas funções, eu acho que seria possível injetar seu próprio servidor de atualização, você só precisa olhar como os detalhes do pacote são formatados e combinar isso.

    
por Annika Backstrom 11.08.2010 / 22:16
fonte
39

Este plugin faz isso para você:

  

Atualizações automáticas para plugins privados e comerciais

     

Desde tempos imemoriais, apenas plugins hospedados no diretório de plugins oficiais do WordPress.org suportam atualizações automáticas. Agora, escrevi uma biblioteca PHP que você pode usar para adicionar recursos de atualização automática a qualquer plug-in. Plugins públicos, privados e comerciais - todos agora podem aproveitar os benefícios das notificações automáticas de atualização e upgrades de um clique.

repositório do GitHub

    
por agileapricot 12.12.2010 / 16:58
fonte
9

Se você gosta de free ... e quer usar algo como GitHub, GitLab ou BitBucket, este é um plugin de boa qualidade e suportado para manipulá-lo (suporta private e enterprise):

enlace

    
por sMyles 20.09.2016 / 02:34
fonte
8

Eu estou olhando para a mesma coisa. Alguns links que descobri podem ser úteis:

O primeiro é alguma informação e ponteiros para a API de upgrades. O segundo é um snippet de código que mostra como solicitar informações na API.

    
por Dougal Campbell 12.08.2010 / 14:44
fonte
1

Você pode querer verificar o plug-in do Kit de Desenvolvimento do WordPress . Recentemente migrei meu sistema de atualização proprietário para este plug-in. O plugin agora serve como processador de back-end para minhas atualizações de plugins premium.

Isso é semelhante na configuração da solução fornecida pelo agileapricot acima. Ele será instalado como um plugin padrão em um site WordPress. Você hospeda seus arquivos .zip premium e o plugins.json nos diretórios de produção ou de pré-lançamento em seu servidor (especificados nas configurações do plug-in).

O plug-in também permite listar versões de plug-ins e pode até fornecer um download para os arquivos em páginas públicas, protegidas por senha ou protegidas por assinatura. Você pode ver um exemplo da lista de versões na página aqui .

Eu tenho usado o plug-in há meses para publicar o log de alterações dos meus complementos premium, a lista de versões atuais e as listas de download dos meus titulares de Assinatura Premier. Agora, com a versão 0.7.01, ele está funcionando como o destino da consulta para atualizações in-line do WordPress.

Espero que alguns de vocês achem útil.

    
por Lance Cleveland 05.05.2015 / 22:26
fonte
1

Se você deseja uma solução hospedada que não precisa gerenciar, confira o Kernl ( enlace ). É um serviço que fornece a infraestrutura para atualização de plugins e facilita a integração em seus próprios plugins.

    
por Jack Slingerland 08.05.2015 / 16:02
fonte
-1

você pode usar este plugin comercial: enlace sem limitação e tem vários outros recursos que você pode precisar:

  • Sem cobrança mensal
  • Uso ilimitado
  • Fácil integração com temas e plugins
  • Autenticação por domínios, chaves e & funções
por David 09.01.2014 / 03:36
fonte