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..
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:
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:
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..
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..
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');
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.
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
.
Enfin, initialisons TGM juste avant la fin de la tgmpa_register_toolkit
une fonction.
tgmpa ($ plugins, $ config);
Maintenant, enregistrez votre functions.php
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:
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..