Intégration de la trousse Envato WordPress à votre thème le plugin

En tant qu'auteurs de WordPress dans ThemeForest, nous souhaitons rendre nos clients heureux en leur fournissant des corrections de bugs occasionnelles et des améliorations de nos thèmes. Mais un problème clé pour nous est de savoir comment informer nos utilisateurs quand une mise à jour est disponible au téléchargement..

Autrefois, nous devions chacun coder dans nos propres implémentations d'un notificateur de mise à jour de thème. Bien qu'il existe maintenant une case à cocher pour activer les notifications sur les mises à jour d'élément dans les marchés Envato, les utilisateurs doivent toujours l'activer par élément et effectuer manuellement la mise à jour du thème..

Ne serait-il pas préférable que les notifications de mise à jour soient affichées au sein de l'administrateur WordPress lui-même? Et que les mises à jour peuvent être effectuées immédiatement au sein de l'administrateur? Heureusement pour nous, nous avons maintenant le plugin et la bibliothèque de boîtes à outils WordPress Toolkit d'Envato.

Dans cette série, vous apprendrez à intégrer ces boîtes à outils à vos thèmes..


Ce que nous allons couvrir dans cette série

Dans ce didacticiel, nous allons implémenter le plugin Envato WordPress Toolkit et la bibliothèque dans notre thème. Lorsque notre thème est activé, il sera demandé à l'utilisateur d'installer et d'activer le plugin Toolkit..

Une fois que le plugin est actif, notre thème vérifie périodiquement les mises à jour et, si une mise à jour est trouvée, une notification dans l'administrateur sera affichée, qui dirigera l'utilisateur vers le plugin pour mettre à jour le thème..

Le tutoriel est divisé en deux parties:

  • Partie 1 - Intégration de la classe d'activation du plug-in TGM pour que le plug-in Envato WordPress Toolkit devienne une nécessité lors de l'utilisation de notre thème; et
  • Partie 2 - Implémentation de la bibliothèque Envato WordPress Toolkit dans notre thème pour permettre la vérification et la mise à jour des nouvelles versions de thèmes.

Plugin et bibliothèque?

Envato WordPress Toolkit se présente sous deux formes qui ont un usage et un but différents. Pour ne pas nous confondre avec les deux, voici une comparaison:

  • Toolkit Plugin - Ceci est un plugin autonome qui peut être installé par tout client Envato sur son site WordPress. Lorsqu'il est activé, tous les thèmes précédemment achetés ainsi que les mises à jour de thème sont disponibles pour téléchargement directement à partir de l'administrateur..
  • Bibliothèque de la boîte à outils - Code pouvant être inclus par les auteurs dans leurs thèmes WordPress, permettant au thème d’utiliser l’API Envato Marketplace pour rechercher les mises à jour de version de thème et se mettre à jour lui-même..

1. Y compris les fichiers requis

Nous devrons d’abord inclure certains fichiers dans notre projet. Nous allons regrouper le plugin Toolkit avec notre thème et nous allons utiliser TGM Plugin Activation pour installer et activer le Toolkit..

  1. Téléchargez TGM Plugin Activation et placez le script de la classe principale dans inc dossier dans votre thème. Le chemin doit être: mytheme / inc / class-tgm-plugin-activation.php
  2. Ensuite, téléchargez le fichier ZIP Envato WordPress Toolkit Plugin et placez-le dans un nouveau dossier de votre thème appelé plugins. Le chemin doit être: mytheme / plugins / envato-wordpress-toolkit-master.zip

Remarque: Vous pouvez modifier l'emplacement des fichiers ci-dessus pour répondre à vos besoins..  Sinon, vous pouvez télécharger l'intégralité de la source à partir du lien de téléchargement situé en haut de cet article..


2. Fonction de crochet TGM

Maintenant que nous avons les fichiers requis, commençons le codage. Nous devrons inclure la classe d’activation du plugin TGM dans notre functions.php et accrochez-vous à une action WordPress personnalisée. C’est là que nous allons définir certains paramètres pour TGM et définir les plugins à inclure..

 / ** * Chargez la classe TGM Plugin Activator pour avertir l'utilisateur * d'installer le plugin Envato WordPress Toolkit * / require_once (get_template_directory (). '/Inc/class-tgm-plugin-activation.php'); function tgmpa_register_toolkit () // Code ici add_action ('tgmpa_register', 'tgmpa_register_toolkit');

3. Spécification du plugin Toolkit

Ensuite, nous configurons les paramètres nécessaires pour inclure le plugin Toolkit. À l'intérieur de tgmpa_register_toolkit fonction, ajoutez le code suivant. Modifiez le chemin dans le paramètre source si vous avez spécifié un autre dossier de plug-in dans Étape 1.

 // Spécifiez le plugin Envato Toolkit $ plugins = array (array ('name' => 'Envato WordPress Toolkit', 'slug' => 'envato-wordpress-toolkit-master', 'source' => get_template_directory (). ' /plugins/envato-wordpress-toolkit-master.zip ',' required '=> true,' version '=>' 1.5 ',' force_activation '=> true,' force_deactivation '=> false,' external_url '=> " ,),;

Vous pouvez également ajouter d’autres plugins en ajoutant plus de tableaux à la liste. $ plugins variable.


4. Configuration de TGM

Configurez ensuite les options pour TGM. Aussi à l'intérieur du tgmpa_register_toolkit fonction, ajoutez le code suivant sous l’étape précédente pour configurer TGM. Je ne vais pas plonger dans les détails sur ce que font les paramètres individuels. Si vous souhaitez plus d'informations sur ces paramètres, le site Web d'activation de plug-in de TGM explique parfaitement chaque élément de celui-ci..

 // domaine de texte i18n utilisé à des fins de traduction $ theme_text_domain = 'default'; // Configuration de TGM $ config = array ('domaine' => $ theme_text_domain, 'default_path' => ", parent_menu_slug '=>' admin.php ',' parent_url_slug '=>' admin.php ',' menu ' => 'install-required-plugins', 'has_notices' => true, 'is_automatic' => true, 'message' => ", 'strings' => array ('page_title' => __ ('Installer les plugins nécessaires' , $ theme_text_domain), 'menu_title' => __ ('Installer les plugins', $ theme_text_domain), 'installer' => __ ('Installer le plugin:% s', $ theme_text_domain), 'oops' => __ ('Quelque chose s'est passé faux avec l'API du plugin. ', $ theme_text_domain),' notice_can_install_required '=> _n_noop (' Ce thème nécessite le plugin suivant:% 1 $ s. ',' Ce thème nécessite les plugins suivants:% 1 $ s. '), 'notice_can_install_recommended' => _n_noop ('Ce thème recommande les plugins suivants:% 1 $ s.', 'Ce thème recommande les plugins suivants:% 1 $ s.'), 'notice_cannot_install' => _n_noop ('Désolé, mais vous ne dispose pas des autorisations nécessaires pour installer le plugin% s. Contactez l'administrateur r de ce site pour obtenir de l'aide sur l'installation du plugin. ',' Désolé, mais vous ne disposez pas des autorisations nécessaires pour installer les plugins% s. Contactez l'administrateur de ce site pour obtenir de l'aide sur l'installation des plug-ins. ' ), 'notice_can_activate_required' => _n_noop ('Le plugin requis suivant est actuellement inactif:% 1 $ s.', 'Les plugins obligatoires suivants sont actuellement inactifs:% 1 $ s.'), 'notice_can_activate_recommended' => _n_noop (' Le plug-in recommandé suivant est actuellement inactif:% 1 $ s. ',' Les plug-in recommandés suivants sont actuellement inactifs:% 1 $ s. '),' Notice_cannot_activate '=> _n_noop (' Désolé, mais vous ne disposez pas des autorisations appropriées pour activer le plugin% s. Contactez l'administrateur de ce site pour obtenir de l'aide sur l'activation de ce plugin. ',' Désolé, mais vous ne disposez pas des autorisations nécessaires pour activer les plugins% s. Contactez l'administrateur du site pour obtenir de l'aide sur activation des plugins. '),' notice_ask_to_update '=> _n_noop (' Le plugin suivant doit être mis à jour vers sa dernière version pour assurer une compatibilité maximale avec ce thème:% 1 $ s. ',' Les plugins suivants doivent être mis à jour à leur dernière version pour assurer une compatibilité maximale avec ce thème:% 1 $ s. '), 'notice_cannot_update' => _n_noop ('Désolé, mais vous ne disposez pas des autorisations nécessaires pour mettre à jour le plugin% s. Contactez l'administrateur de ce site pour obtenir de l'aide sur la mise à jour du plug-in. ',' Désolé, mais vous ne disposez pas des autorisations appropriées pour mettre à jour les plug-ins% s. Contactez l'administrateur de ce site pour obtenir de l'aide sur la mise à jour des plugins. ' ), 'install_link' => _n_noop ('Commencer l'installation du plugin', 'Commencer l'installation des plugins'), 'activate_link' => _n_noop ('Activer le plugin installé', 'Activer les plugins installés'), 'return' => __ (' Retournez au programme d'installation des plugins requis ', $ theme_text_domain),' plugin_activated '=> __ (' plugin activé avec succès. ', $ Theme_text_domain),' complete '=> __ (' Tous les plugins installés et activés avec succès.% S ', $ theme_text_domain ), 'nag_type' => 'mis à jour'));

Changer la $ theme_text_domain variable au domaine de texte que vous utilisez, ou laissez-le comme défaut.


5. Démarrer TGM

Enfin, initialisons TGM juste avant la fin de la tgmpa_register_toolkit une fonction.

 tgmpa ($ plugins, $ config);

Maintenant, enregistrez votre functions.php


L'essayer

Essayez d'activer votre thème. Si vous n'avez pas le Envato WordPress Toolkit Plugin installé ou activé, vous devriez voir une notification semblable à celle-ci:


Conclusion

D'après ce que nous avons actuellement, nous pouvons nous arrêter sur la série et vos utilisateurs pourront mettre à jour le thème à partir de l'administrateur. Cependant, les utilisateurs ne pourront voir la mise à jour que s'ils se trouvent dans le panneau d'administration de Toolkit..

La deuxième partie du didacticiel vous expliquera comment intégrer la bibliothèque Envato WordPress Toolkit et comment afficher une notification de l'administrateur chaque fois qu'une mise à jour du thème est disponible dans ThemeForest..