Pregunta

Si escribo un plug-in privado, ¿hay alguna manera de utilizar el mecanismo de actualización automática de WordPress para actualizarlo?

Quiero encapsular la funcionalidad, pero es específica a mis 5 blogs más o menos, así que no es un candidato bueno para el recurso plugins pública. Pero me encanta el mecanismo de fácil actualización.

¿Hay una manera de hacer esto?

¿Fue útil?

Solución

Parece que el código de aplicación se encuentra 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);

Se comprueba específicamente api.wordpress.org. Técnicamente hablando, sería posible pasar una llave dentro $to_send delegar el cheque, pero que yo sepa que no es una característica compatible.

Si gancho en set_site_transient_update_plugins se podría añadir sus propios detalles del paquete en esta variable. Parece que esos valores se puede confiar cuando se ejecuta el programa de actualización del plugin. Ver wp-admin/update.php y wp-admin/includes/class-wp-upgrader.php. Teniendo en cuenta el código de estas dos funciones, creo que sería posible inyectar su propio servidor de actualización, sólo tiene que mirar cómo se formatean los detalles del paquete y que coincida.

Otros consejos

Este plugin lo hace por usted:

Actualizaciones automáticas para uso privado y Comercial complementos

Desde tiempos inmemoriales, sólo se plugins alojado en el directorio de plug-in oficial WordPress.org han apoyado las actualizaciones automáticas. Ahora, he escrito una biblioteca PHP que puede utilizar para agregar capacidades de actualización automática a cualquier plugin. Pública, plugins privados y comerciales por igual -. Todo puede ahora disfrutar de los beneficios de las notificaciones de actualizaciones automáticas y mejoras de un solo clic

GitHub repositorio

Si te gusta libres ... y quieren usar algo como GitHub, GitLab o BitBucket, se trata de una buena calidad y el plugin compatible para su manipulación (soportes privada y la empresa):

https://github.com/afragen/github-updater

Estoy buscando en la misma cosa. Un par de enlaces que he encontrado que pueden ser útiles:

La primera es algo de información e indicadores sobre la API de actualizaciones. El segundo es un fragmento de código que muestra cómo petición de información en realidad de la API.

Es posible que desee revisar la WordPress Kit de desarrollo de plug-in . Recientemente he migrado mi sistema de actualización de propiedad de este plugin. El plugin ahora sirve como el procesador de servicios de fondo para mi prima plugin de actualizaciones.

Esto es similar en configuración a la solución proporcionada por agileapricot anteriormente. Se instalará como un plugin de serie en un sitio de WordPress. Aloja archivos .zip su prima y la plugins.json en directorios de producción o preliminares en su servidor (especificado en la configuración del plug-in).

El plugin también le permite a la lista de plug-in versiones e incluso puede proporcionar una descarga de los archivos en público, protegido con contraseña, o páginas de suscripción protegido. Se puede ver un ejemplo de la en-página lista versión aquí .

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

La esperanza alguna de que sea de utilidad.

Si desea una solución alojada que usted no tiene que manejar, echa un vistazo a Kernl ( https://kernl.us ). Es un servicio que proporciona la infraestructura para la actualización de plugins y hace que sea fácil de integrar en sus propios plugins.

Puede utilizar este plugin comercial: http://autohosted.com/ sin limitación y tener varios otra característica que pueda necesitar:

  • No hay cargo mensual
  • Uso ilimitado
  • Fácil integración con temas y plugins
  • Autenticación por dominios, llaves, y papeles
Licenciado bajo: CC-BY-SA con atribución
scroll top