web-dev-qa-db-fra.com

Créer une fonctionnalité de notification de mise à jour pour mes thèmes

la question est simple :) Je fais un thème que je vais utiliser dans beaucoup de sites. Donc, je ne veux pas aller tout le site et ftp les fichiers à chaque fois que je corrige un bogue ou fais une mise à jour du thème.

Y at-il un moyen que je peux faire un système de mise à jour comme les plugins hébergés dans le répertoire de 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 pour les thèmes est maintenant disponible sur ce site. Vous pouvez le trouver ici: http://w-shadow.com/blog/2011/06/02/automatic-updates-for-commercial-themes/

Envisagez toujours de faire un don si vous voyez un excellent travail mis à disposition gratuitement.

16
Sisir

Vous pouvez également vous connecter à la routine de mise à jour principale. (Je recherche des liens vers des tutoriels, mais mon Google-fu me manque ce matin.)

MODIFIER:

Voir si ce tutoriel aide . Il explique comment mettre en œuvre des mises à niveau automatiques pour les plug-in privés/commerciaux (c'est-à-dire non hébergés dans un référentiel).

9
Chip Bennett

Une question d'intérêt! En fait, je pense que vous devriez faire un service pour vérifier la mise à jour! Tels que yourdomain.comn/api/update-check! Cela peut ensuite renvoyer XML ou JSON ou des informations utiles relatives à 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:

    <?php define('OWN_THEME_VERSION', '1.1');

Ainsi, lorsque vous avez détecté une mise à jour à partir de l'URL ci-dessus (votredomaine.comn/api/update-check), supposez que les données JSO renvoyées sont les suivantes: {"version": "1.2", "fichier": "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 où 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 ça devrait marcher!

Vous voudrez peut-être jeter un coup d'œil sur ce que WordPress a fait! J'ai trouvé qu'il se trouve dans le fichier wp-admin/includes/update-core.php, ligne 288, fonction update_core

3
kureikain