¿Actualizaciones para un complemento privado?

107

Si escribo un complemento privado, ¿hay alguna forma de usar el mecanismo de actualización automática de WordPress para actualizarlo?

Quiero encapsular la funcionalidad, pero es específica de mis 5 o más blogs, por lo que no es un buen candidato para el recurso de complementos públicos. Pero me encanta el mecanismo de actualización fácil.

¿Hay alguna manera de hacer esto?

    
pregunta artlung 11.08.2010 - 21:43

7 respuestas

43

Parece que el código aplicable está en 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);

Verifica específicamente api.wordpress.org. Técnicamente hablando, sería posible pasar una clave dentro de $to_send para delegar el cheque, pero que yo sepa que no es una función compatible.

Si enlaza con set_site_transient_update_plugins , podría agregar sus propios detalles de paquete a esta variable. Parece que esos valores serán de confianza cuando ejecute el actualizador de complementos. Ver wp-admin/update.php y wp-admin/includes/class-wp-upgrader.php . Dado el código en estas dos funciones, creo que sería posible inyectar su propio servidor de actualizaciones, solo necesita ver cómo se formatean los detalles del paquete y cómo hacerlo.

    
respondido por el Annika Backstrom 11.08.2010 - 22:16
39

Este plugin lo hace por ti:

  

Actualizaciones automáticas para complementos privados y comerciales

     

Desde tiempos inmemoriales, solo los complementos alojados en el directorio oficial de plugins de WordPress.org han admitido actualizaciones automáticas. Ahora, he escrito una biblioteca de PHP que puedes usar para agregar capacidades de actualización automática a cualquier complemento. Los complementos públicos, privados y comerciales, todos ahora pueden disfrutar de los beneficios de las notificaciones de actualización automática y las actualizaciones de un clic.

Repositorio de GitHub

    
respondido por el agileapricot 12.12.2010 - 16:58
9

Si te gusta gratis ... y quieres usar algo como GitHub, GitLab o BitBucket, este es un complemento de buena calidad y compatible para su manejo (compatible con empresas privadas):

enlace

    
respondido por el sMyles 20.09.2016 - 02:34
8

Estoy buscando lo mismo. Un par de enlaces que he encontrado que podrían ser útiles:

El primero es información y punteros a la API de actualizaciones. El segundo es un fragmento de código que muestra cómo solicitar información de la API.

    
respondido por el Dougal Campbell 12.08.2010 - 14:44
1

Es posible que desee revisar el complemento del Kit de desarrollo de WordPress . Recientemente migré mi sistema de actualización propietario a este complemento. El complemento ahora sirve como procesador de servicios de fondo para mis actualizaciones de complementos premium.

Esto es similar en la configuración a la solución proporcionada por agileapricot anterior. Se instalará como un complemento estándar en un sitio de WordPress. Aloja sus archivos premium .zip y los plugins.json en los directorios de producción o de versión preliminar en su servidor (especificados en la configuración del complemento).

El complemento también le permite listar versiones de complementos e incluso puede proporcionar una descarga para los archivos en páginas públicas, protegidas por contraseña o protegidas por suscripción. Puede ver un ejemplo de la lista de versiones en la página aquí .

He estado usando el complemento durante meses para publicar el registro de cambios para mis complementos premium, la lista de versiones actuales y las listas de descargas para mis titulares de suscripción Premier. Ahora, con la versión 0.7.01, funciona como el destino de la consulta para las actualizaciones de WordPress en línea.

Espero que algunos de ustedes lo encuentren útil.

    
respondido por el Lance Cleveland 05.05.2015 - 22:26
1

Si desea una solución alojada que no tiene que administrar, consulte Kernl ( enlace ). Es un servicio que proporciona la infraestructura para actualizar los complementos y facilita la integración en sus propios complementos.

    
respondido por el Jack Slingerland 08.05.2015 - 16:02
-1

puede usar este complemento comercial: enlace no hay limitación y tiene otras características que pueda necesitar:

  • Sin cargo mensual
  • Uso ilimitado
  • Fácil integración con Temas y Complementos
  • Autenticación por dominios, claves, & roles
respondido por el David 09.01.2014 - 03:36

Lea otras preguntas en las etiquetas