Maison  >  Article  >  Tutoriel CMS  >  Améliorez votre thème : intégrez le plugin Envato WordPress Toolkit

Améliorez votre thème : intégrez le plugin Envato WordPress Toolkit

王林
王林original
2023-09-04 12:13:011219parcourir

增强您的主题:集成 Envato WordPress 工具包插件

En tant qu'auteurs WordPress dans ThemeForest, nous voulons satisfaire nos clients en leur fournissant des corrections de bugs occasionnelles et des améliorations de thème. Mais l’un des principaux problèmes auxquels nous avons été confrontés était de savoir comment avertir nos utilisateurs lorsqu’une mise à jour était disponible au téléchargement.

Dans le passé, nous devions chacun coder notre propre implémentation de notificateur de mise à jour de thème. Bien qu'il existe désormais une case à cocher pour activer les notifications de mise à jour de projet dans Envato Marketplace, les utilisateurs doivent toujours l'activer pour chaque projet et effectuer les mises à jour de thème manuellement.

Ne serait-il pas préférable que les notifications de mise à jour apparaissent dans le centre d'administration WordPress ? Et la mise à jour peut-elle être effectuée immédiatement dans l'administrateur ? Heureusement, nous avons maintenant le plugin Envato WordPress Toolkit et la bibliothèque de boîtes à outils.

Dans cette série, vous apprendrez comment intégrer ces boîtes à outils dans votre thème.


Ce que nous couvrirons dans cette série

Dans ce didacticiel, nous implémenterons le plugin et la bibliothèque Envato WordPress Toolkit dans notre thème. Lorsque notre thème est activé, les utilisateurs seront invités à installer et activer le plugin Toolkit.

Une fois le plugin actif, notre thème vérifiera régulièrement les mises à jour et si une mise à jour est trouvée, une notification sera affichée dans l'administrateur dirigeant l'utilisateur vers le plugin pour mettre à jour le thème.

Ce tutoriel est divisé en deux parties :

  • Partie 1 - Intégration de la classe d'activation du plugin TGM afin que l'utilisation de notre thème nécessite le plugin Envato WordPress Toolkit et
  • ;
  • Partie 2 - Implémentation de la bibliothèque Envato WordPress Toolkit dans notre thème pour permettre les vérifications et les mises à jour des nouvelles versions du thème.

Plugins et bibliothèques ?

La boîte à outils Envato WordPress est disponible en deux versions avec des utilisations et des objectifs différents. Pour éviter de confondre les deux, voici une comparaison :

  • Toolkit Plugin - Il s'agit d'un plugin autonome que tout client Envato peut installer sur son site WordPress. Lors de l'activation, tous les thèmes précédemment achetés ainsi que les mises à jour de thèmes peuvent être téléchargés directement depuis l'administrateur.
  • Bibliothèque de boîtes à outils - Les auteurs peuvent inclure du code dans leurs thèmes WordPress qui permet au thème de vérifier les mises à jour de version du thème et de se mettre à jour à l'aide de l'API Envato Marketplace.

1.Inclure les documents requis

Nous devons d'abord inclure certains fichiers dans le projet. Nous regrouperons le plugin Toolkit avec notre thème et utiliserons l’activation du plugin TGM pour installer et activer le Toolkit.

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

REMARQUE : Vous pouvez modifier l'emplacement des fichiers ci-dessus en fonction de vos besoins. Vous pouvez également télécharger le code source complet à partir du lien de téléchargement en haut de cet article.


2.Fonction de crochet TGM

Maintenant que nous avons les fichiers requis, commençons à coder. Nous devons inclure la classe d'activation du plugin TGM dans functions.php et nous connecter à l'action WordPress personnalisée. Ici, nous allons configurer quelques paramètres pour le TGM et définir les plugins à inclure.

/**
 * Load the TGM Plugin Activator class to notify the user
 * to install the Envato WordPress Toolkit Plugin
 */
require_once( get_template_directory() . '/inc/class-tgm-plugin-activation.php' );
function tgmpa_register_toolkit() {

	// Code here

}
add_action( 'tgmpa_register', 'tgmpa_register_toolkit' );

3.Spécifier le plug-in Toolkit

Ensuite, nous configurons les paramètres requis pour inclure le plug-in Toolkit. Dans la fonction tgmpa_register_toolkit, ajoutez le code suivant. Si vous avez spécifié un autre dossier de plugin à l'Étape 1, modifiez le chemin dans le paramètre source.

// Specify the Envato Toolkit plugin
$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 variable $plugins.


4.Configurer TGM

Ensuite, définissez les options TGM. Toujours dans la fonction tgmpa_register_toolkit, ajoutez le code suivant en dessous de l'étape précédente pour configurer le TGM. Je n’entrerai pas dans les détails de ce que fait chaque paramètre. Si vous souhaitez en savoir plus sur ces paramètres, le site Web d'activation du plugin TGM fait un excellent travail en expliquant chaque détail.

// i18n text domain used for translation purposes
$theme_text_domain = 'default';

// Configuration of TGM
$config = array(
	'domain'       	   => $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'                      => __( 'Install Required Plugins', $theme_text_domain ),
		'menu_title'                      => __( 'Install Plugins', $theme_text_domain ),
		'installing'                      => __( 'Installing Plugin: %s', $theme_text_domain ),
		'oops'                            => __( 'Something went wrong with the plugin API.', $theme_text_domain ),
		'notice_can_install_required'     => _n_noop( 'This theme requires the following plugin: %1$s.', 'This theme requires the following plugins: %1$s.' ),
		'notice_can_install_recommended'  => _n_noop( 'This theme recommends the following plugin: %1$s.', 'This theme recommends the following plugins: %1$s.' ),
		'notice_cannot_install'  		  => _n_noop( 'Sorry, but you do not have the correct permissions to install the %s plugin. Contact the administrator of this site for help on getting the plugin installed.', 'Sorry, but you do not have the correct permissions to install the %s plugins. Contact the administrator of this site for help on getting the plugins installed.' ),
		'notice_can_activate_required'    => _n_noop( 'The following required plugin is currently inactive: %1$s.', 'The following required plugins are currently inactive: %1$s.' ),
		'notice_can_activate_recommended' => _n_noop( 'The following recommended plugin is currently inactive: %1$s.', 'The following recommended plugins are currently inactive: %1$s.' ),
		'notice_cannot_activate' 		  => _n_noop( 'Sorry, but you do not have the correct permissions to activate the %s plugin. Contact the administrator of this site for help on getting the plugin activated.', 'Sorry, but you do not have the correct permissions to activate the %s plugins. Contact the administrator of this site for help on getting the plugins activated.' ),
		'notice_ask_to_update' 			  => _n_noop( 'The following plugin needs to be updated to its latest version to ensure maximum compatibility with this theme: %1$s.', 'The following plugins need to be updated to their latest version to ensure maximum compatibility with this theme: %1$s.' ),
		'notice_cannot_update' 			  => _n_noop( 'Sorry, but you do not have the correct permissions to update the %s plugin. Contact the administrator of this site for help on getting the plugin updated.', 'Sorry, but you do not have the correct permissions to update the %s plugins. Contact the administrator of this site for help on getting the plugins updated.' ),
		'install_link' 					  => _n_noop( 'Begin installing plugin', 'Begin installing plugins' ),
		'activate_link' 				  => _n_noop( 'Activate installed plugin', 'Activate installed plugins' ),
		'return'                          => __( 'Return to Required Plugins Installer', $theme_text_domain ),
		'plugin_activated'                => __( 'Plugin activated successfully.', $theme_text_domain ),
		'complete' 						  => __( 'All plugins installed and activated successfully. %s', $theme_text_domain ),
		'nag_type'						  => 'updated'
	)
);

volonté $theme_text_domain 变量更改为您正在使用的文本域,或将其保留为 default.


5.Démarrez TGM

Enfin, initialisons le TGM avant la fin de la fonction tgmpa_register_toolkit.

tgmpa( $plugins, $config );

Enregistrez votre functions.php maintenant


Essayez-le

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

增强您的主题:集成 Envato WordPress 工具包插件


Conclusion

D'après ce que nous savons maintenant, nous pouvons réellement arrêter la série et vos utilisateurs pourront mettre à jour les thèmes depuis l'administrateur. Cependant, les utilisateurs ne verront les mises à jour que dans le panneau d'administration de Toolkit.

La partie 2 de ce didacticiel vous apprendra comment intégrer la bibliothèque Envato WordPress Toolkit et afficher les notifications de l'administrateur lorsque des mises à jour de thème se produisent dans ThemeForest.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn