Maison > Tutoriel CMS > WordPresse > le corps du texte

Améliorez votre thème avec la boîte à outils Envato WordPress : bibliothèque

王林
Libérer: 2023-09-02 12:41:01
original
920 Les gens l'ont consulté

使用 Envato WordPress 工具包增强您的主题:库

Dans la dernière partie de ce didacticiel, nous avons appris à utiliser la classe d'activation du plugin TGM pour exiger le plugin Envato WordPress Toolkit chaque fois que notre thème est utilisé. Le plugin permet aux utilisateurs d'installer et de mettre à jour les thèmes achetés dans l'administrateur.

La partie suivante vous apprendra comment implémenter la bibliothèque Envato WordPress Toolkit afin que nous puissions utiliser l'API Envato Marketplace pour vérifier régulièrement quand des mises à jour de notre thème sont disponibles.

Lorsqu'une mise à jour est disponible, nous afficherons une notification dans l'administrateur et dirigerons les utilisateurs vers l'accès au plugin pour mettre à jour.


1. Comprend une bibliothèque de boîtes à outils

Nous devons d’abord inclure la bibliothèque de boîtes à outils dans notre projet. Téléchargez le fichier ZIP de la bibliothèque Envato WordPress Toolkit. Décompressez et copiez le dossier envato-wordpress-toolkit-library dans le dossier inc de votre thème. Vous devriez vous retrouver avec ces chemins :

  • mytheme/inc/envato-wordpress-toolkit-library/class-envato-protected-api.php
  • mytheme/inc/envato-wordpress-toolkit-library/class-envato-wordpress-theme-upgrader.php

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 hook d'administrateur

Maintenant, nous pouvons commencer à coder. Nous allons brancher l'opération admin_init. Ajoutez le code suivant à votre functions.php :

/**
 * Load the Envato WordPress Toolkit Library check for updates
 * and direct the user to the Toolkit Plugin if there is one
 */
function envato_toolkit_admin_init() {

    // Include the Toolkit Library
    include_once( get_template_directory() . '/inc/envato-wordpress-toolkit-library/class-envato-wordpress-theme-upgrader.php' );

    // Add further code here

}
add_action( 'admin_init', 'envato_toolkit_admin_init' );
Copier après la connexion

3. Utilisation des informations sur le plug-in de la boîte à outils

La bibliothèque de boîtes à outils nécessite un nom d'utilisateur Envato et une clé API pour fonctionner. Puisque nous avions besoin du plugin Toolkit dans le didacticiel précédent, nous pouvons utiliser les valeurs d'entrée pour les champs Nom d'utilisateur et Clé API trouvés dans ses paramètres. Si ces champs ne sont pas renseignés, nous pouvons afficher une notification demandant à l'utilisateur de les saisir dans le plugin Toolkit.

// Use credentials used in toolkit plugin so that we don't have to show our own forms anymore
$credentials = get_option( 'envato-wordpress-toolkit' );
if ( empty( $credentials['user_name'] ) || empty( $credentials['api_key'] ) ) {
    add_action( 'admin_notices', 'envato_toolkit_credentials_admin_notices' );
    return;
}
Copier après la connexion

Nous devons ajouter la fonction hook correspondante en externe pour afficher nos notifications de gestion :

/**
 * Display a notice in the admin to remind the user to enter their credentials
 */
function envato_toolkit_credentials_admin_notices() {
    $message = sprintf( __( "To enable theme update notifications, please enter your Envato Marketplace credentials in the %s", "default" ),
        "<a href='" . admin_url() . "admin.php?page=envato-wordpress-toolkit'>Envato WordPress Toolkit Plugin</a>" );
    echo "<div id='message' class='updated below-h2'><p>{$message}</p></div>";
}
Copier après la connexion

4.Vérifications régulières des mises à jour

Toolkit Library vérifie toujours les mises à jour de thème à l'aide de l'API Envato Marketplace. Ce n'est pas bon car l'exécuter à chaque fois qu'un utilisateur visite la page d'administration ralentira considérablement le temps de chargement de la page. Nous devons juste vérifier régulièrement les mises à jour.

Vérifier toutes les 3 heures semble être une bonne idée :

// Check updates only after a while
$lastCheck = get_option( 'toolkit-last-toolkit-check' );
if ( false === $lastCheck ) {
    update_option( 'toolkit-last-toolkit-check', time() );
    return;
}

// Check for an update every 3 hours
if ( 10800 < ( time() - $lastCheck ) ) {
    return;
}

// Update the time we last checked
update_option( 'toolkit-last-toolkit-check', time() );
Copier après la connexion

5. Vérifiez les mises à jour

Enfin, nous pouvons vérifier les mises à jour en utilisant cette bibliothèque :

// Check for updates
$upgrader = new Envato_WordPress_Theme_Upgrader( $credentials['user_name'], $credentials['api_key'] );
$updates = $upgrader->check_for_theme_update();

// If $updates->updated_themes_count == true then we have an update!
Copier après la connexion

6.Notification de mise à jour du thème

À partir de ce moment, vous avez la possibilité de mettre à jour automatiquement votre thème à l'aide des fonctions de la bibliothèque de la boîte à outils $upgrader->upgrade_theme(); Cependant, je pense que c'est généralement une bonne idée de donner le choix à l'utilisateur.

Ma suggestion est d'afficher uniquement les notifications pour les mises à jour du thème et de permettre aux utilisateurs de mettre à jour à l'aide du plugin Toolkit :

// Add update alert, to update the theme
if ( $updates->updated_themes_count ) {
    add_action( 'admin_notices', 'envato_toolkit_admin_notices' );
}
Copier après la connexion

Nous devons afficher la fonction qui affiche la notification en dehors de la fonction actuelle :

/**
 * Display a notice in the admin that an update is available
 */
function envato_toolkit_admin_notices() {
    $message = sprintf( __( "An update to the theme is available! Head over to %s to update it now.", "default" ),
        "<a href='" . admin_url() . "admin.php?page=envato-wordpress-toolkit'>Envato WordPress Toolkit Plugin</a>" );
    echo "<div id='message' class='updated below-h2'><p>{$message}</p></div>";
}
Copier après la connexion

Pourquoi utiliser ce plugin en premier lieu ?

Vous pourriez penser que ce serait aussi simplement utiliser la bibliothèque Toolkit sans le plugin Toolkit, puis peut-être simplement afficher notre propre nom d'utilisateur et notre propre formulaire de clé API dans les options du thème.

Bien que cela soit tout à fait possible, l'utilisation de ce plugin nous apporte certains avantages :

  1. Lors d'une nouvelle activation de thème, notre thème vérifiera automatiquement les mises à jour si le plug-in Toolkit a déjà été installé.
  2. Nous n’avons pas besoin d’ajouter un ensemble supplémentaire de formulaires à remplir par les utilisateurs.
  3. Les utilisateurs peuvent mettre à jour le plugin Toolkit eux-mêmes, de sorte que les modifications apportées à l'API Marketplace peuvent être appliquées aux instances WordPress sans aucune indication de thème.

Conclusion

C'est tout ! Nous avons intégré le plugin et la bibliothèque Envato WordPress Toolkit pour vérifier les mises à jour du thème. Désormais, nos clients recevront une notification d'administrateur dès qu'une mise à jour sera disponible sur le marché. La meilleure chose que nous ayons faite est qu'ils peuvent facilement effectuer des mises à jour sans quitter l'administrateur.

Vous pouvez procéder au téléchargement du code source complet à partir du lien au-dessus de l'article. Le code couvre également les sujets abordés dans la partie précédente de ce didacticiel.

Comme il s'agit de ma première série de tutoriels, j'apprécierais vraiment vos commentaires, commentaires et suggestions. Faites-moi savoir ce que vous en pensez !

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!