Mises à jour pour un plugin privé?

107

Si j'écris un plugin privé, y a-t-il un moyen d'utiliser le mécanisme de mise à jour automatique de WordPress pour le mettre à jour?

Je souhaite encapsuler les fonctionnalités, mais elles sont spécifiques à mes 5 blogs environ. Ce n'est donc pas un bon candidat pour la ressource plugins publics. Mais j'aime le mécanisme de mise à jour facile.

Y a-t-il un moyen de faire cela?

    
posée artlung 11.08.2010 - 21:43
la source

7 réponses

43

On dirait que le code applicable est dans 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);

Il vérifie spécifiquement api.wordpress.org. Techniquement, il serait possible de passer une clé à l'intérieur de $to_send pour déléguer le contrôle, mais à ma connaissance, cette fonctionnalité n'est pas prise en charge.

Si vous vous connectez à set_site_transient_update_plugins , vous pouvez ajouter les détails de votre package dans cette variable. Il semble que ces valeurs seront approuvées lorsque vous exécuterez le programme de mise à jour du plug-in. Voir wp-admin/update.php et wp-admin/includes/class-wp-upgrader.php . Étant donné le code de ces deux fonctions, je pense qu’il serait possible d’injecter votre propre serveur de mise à jour. Il vous suffit de regarder comment les détails du paquet sont formatés et adaptés.

    
réponse donnée Annika Backstrom 11.08.2010 - 22:16
la source
39

Ce plugin le fait pour vous:

  

Mises à jour automatiques pour les plug-in privés et commerciaux

     

Depuis la nuit des temps, seuls les plugins hébergés dans le répertoire officiel des plugins WordPress.org ont pris en charge les mises à jour automatiques. Maintenant, j’ai écrit une bibliothèque PHP que vous pouvez utiliser pour ajouter des fonctionnalités de mise à jour automatique à n’importe quel plugin. Les plugins publics, privés et commerciaux - tous peuvent désormais profiter des avantages des notifications de mises à jour automatiques et des mises à niveau en un clic.

référentiel GitHub

    
réponse donnée agileapricot 12.12.2010 - 16:58
la source
9

Si vous aimez free ... et souhaitez utiliser quelque chose comme GitHub, GitLab ou BitBucket, il s'agit d'un plug-in de bonne qualité et pris en charge pour sa gestion (supporte les entreprises et les particuliers):

enlace

    
réponse donnée sMyles 20.09.2016 - 02:34
la source
8

Je cherche la même chose. Quelques liens que j'ai trouvés pourraient être utiles:

Le premier concerne des informations et des pointeurs sur l’API de mise à niveau. Le second est un extrait de code montrant comment demander des informations à l’API.

    
réponse donnée Dougal Campbell 12.08.2010 - 14:44
la source
1

Vous pouvez consulter le plug-in du kit de développement WordPress . J'ai récemment migré mon système de mise à jour propriétaire vers ce plugin. Le plugin sert maintenant de processeur principal pour les mises à jour premium de mon plugin.

Cette configuration est similaire à la solution fournie par agileapricot ci-dessus. Il s’installera comme un plugin standard sur un site WordPress. Vous hébergez vos fichiers .zip premium et le fichier plugins.json dans des répertoires de production ou des versions préliminaires de votre serveur (spécifiés dans les paramètres du plug-in).

Le plug-in vous permet également de répertorier les versions de plug-in et peut même fournir un téléchargement pour les fichiers stockés sur des pages publiques, protégées par mot de passe ou protégées par abonnement. Vous pouvez voir un exemple de la liste des versions sur page ici .

Cela fait des mois que j'utilise le plug-in pour publier le journal des modifications de mes add-onions Premium, de la liste des versions actuelles et des listes de téléchargement pour les détenteurs de mon abonnement Premier. Désormais, avec la version 0.7.01, il fonctionne comme destination de la requête pour les mises à jour en ligne de WordPress.

J'espère que certains d'entre vous le trouveront utile.

    
réponse donnée Lance Cleveland 05.05.2015 - 22:26
la source
1

Si vous souhaitez une solution hébergée que vous n'avez pas à gérer, consultez Kernl ( enlace ). C’est un service qui fournit l’infrastructure nécessaire à la mise à jour des plugins et facilite leur intégration dans vos propres plugins.

    
réponse donnée Jack Slingerland 08.05.2015 - 16:02
la source
-1

vous pouvez utiliser ce plugin commercial: enlace aucune limitation et plusieurs autres fonctionnalités dont vous pourriez avoir besoin:

  • Pas de frais mensuels
  • Utilisation illimitée
  • Intégration facile avec les thèmes et les plugins
  • Authentification par domaines, clés, & rôles
réponse donnée David 09.01.2014 - 03:36
la source

Lire d'autres questions sur les étiquettes