la question est simple :) Je fais un thème que j'utiliserai dans de nombreux sites. Donc, je ne veux pas aller sur tout le site et ftp les fichiers chaque fois que je corrige un bogue ou que je fais une mise à niveau du thème.
Existe-t-il un moyen de créer un système de mise à jour comme les plugins hébergés dans le répertoire des plugins wordpress.
Dans l'attente de votre réponse. Merci!
Résolu:
Merci Chip Bennett pour son excellent lien. La bibliothèque de mise à jour des thèmes est désormais disponible sur ce site. Vous pouvez le trouver ici: http://w-shadow.com/blog/2011/06/02/automatic-updates-for-commercial-themes/
Pensez toujours à faire un don si vous voyez un excellent travail mis à disposition gratuitement.
Réponses:
Vous pouvez également vous connecter à la routine de mise à jour principale. (Je recherche des liens de tutoriel, mais mon Google-fu me fait défaut ce matin.)
ÉDITER:
Voyez si ce tutoriel vous aide . Il explique comment mettre en œuvre des mises à niveau automatiques pour les plugins privés / commerciaux (c'est-à-dire non hébergés par le référentiel).
la source
pre_set_site_transient_update_plugins
pre_set_site_transient_update_plugins
exécute uniquement le thème activé sur le site principal. toutes les autres mises à jour de thèmes personnalisés ne seront pas vérifiées même si elles sont multi-sites et activées d'autres thèmes personnalisés sur d'autres sites.Une question d'intérêt! En fait, je pense que vous devriez faire un service pour vérifier la mise à jour! Tels que votredomaine.comn / api / update-check! Ensuite, cela peut renvoyer XML ou JSON ou certaines informations utiles liées à la mise à jour telles que la version, l'url du fichier de mise à jour (le fichier mis à jour doit être un fichier zip)!
Dans votre thème, vous pouvez avoir:
Ainsi, lorsque vous avez détecté une mise à jour de l'URL ci-dessus (votredomaine.comn / api / update-check), supposez qu'elle renvoie les données JSO comme suit: {"version": "1.2", "file": "theme.zip"}
Vous comparez la version pour vérifier la nouvelle mise à jour! Passez ensuite au thème par défaut avec cette fonction http://codex.wordpress.org/Function_Reference/switch_theme (dans l'ordre lorsque les utilisateurs accèdent au site, ils voient un site de travail)! Ensuite, votre code peut utiliser curl ou même file_get_contents pour télécharger le fichier zip (theme.zip dans ce cas)! Ensuite, vous supprimez tous les fichiers de votre dossier de thème, puis extrayez le fichier zip et copiez son contenu dans le dossier de thème! Je pense que de cette façon cela devrait fonctionner!
Vous voudrez peut-être jeter un œil à ce que WordPress a fait! J'ai trouvé que c'était dans le fichier wp-admin / includes / update-core.php, ligne 288, fonction update_core
la source