Affichage de votre widget WordPress sur le site

La dernière étape de la création de votre widget consiste à afficher sa sortie sur le site. Vous faites cela en modifiant davantage la WP_Widget classe.

Voici la dernière partie d’une série en cinq parties que vous devrez suivre pour aller aussi loin:

  • Introduction aux widgets et à l'API Widgets
  • Coder et enregistrer votre widget
  • Construire votre widget
  • Construire le formulaire pour votre widget

Ce dont vous aurez besoin

Pour suivre ce tutoriel, vous aurez besoin de:

  • Une installation de développement de WordPress
  • Un éditeur de code
  • Le code du tutoriel précédent sur la création du formulaire de votre widget.
  • Le code de mon précédent tutoriel sur la navigation dans la barre latérale contextuelle.

Coder la sortie du widget

Cela comporte deux parties: ajouter une fonction en dehors du widget qui identifiera la page ancêtre à utiliser, et éditer le widget fonctionner à l'intérieur du WP_Widget classe.

Ajout de la fonction ancêtre

Cette fonction est tirée directement de mon précédent tutoriel pour créer un plug-in de navigation contextuelle dans la barre latérale..

Au dessus de votre WP_Widget classe, ajoute la fonction à ton fichier plugin:

post_parent) // récupère la liste des ancêtres $ parents = array_reverse (get_post_ancestors ($ post-> ID)); // récupère l'ancêtre de premier niveau return $ parents [0];  // retourne l'id - ce sera le plus ancien ancêtre s'il en existe un, ou la page en cours si elle ne retourne pas $ post-> ID; ?>

Vous l'utiliserez ensuite lors de la définition d'une requête à exécuter dans le widget..

Modification de la fonction du widget

Ensuite, vous devrez éditer le vide widget fonction que vous avez créée précédemment, dans votre fichier plugin. Commencez par définir la variable en fonction de l'entrée du formulaire:

widget de fonction ($ args, $ instance) extract ($ args); echo $ before_widget; echo $ before_title. 'Dans cette section:' . $ after_title; 

Ensuite, ajoutez votre requête et sa sortie, éditez la fonction pour qu'elle se lise ainsi:

widget de fonction ($ args, $ instance) // donne le coup d'envoi à extract ($ args); echo $ before_widget; echo $ before_title. 'Dans cette section:' . $ after_title; // lance une requête si sur une page if (is_page ()) // lance la fonction tutsplus_check_for_page_tree pour récupérer la page de niveau supérieur $ ancestor = tutsplus_check_for_page_tree (); // définit les arguments pour les enfants de la page d'ancêtre $ args = array ('child_of' => $ ancêtre, 'depth' => $ instance ['depth'], 'title_li' => ",); // set a valeur pour que get_pages vérifie si elle est vide $ list_pages = get_pages ($ args); // vérifie si $ list_pages a des valeurs if ($ list_pages) // ouvre une liste avec la page de l'ancêtre en haut?> 
  • ">

Cela vérifie si nous sommes sur une page et définit ensuite les arguments de la list_pages () fonction en utilisant la sortie de la fonction précédente et la valeur de la $ profondeur variable qui est définie par la forme du widget.

Maintenant, enregistrez votre widget et consultez votre site. Votre liste devrait apparaître partout où vous avez ajouté le widget:

Le plugin final

Vous avez maintenant un plugin de widget complet!

Pour récapituler ce que vous avez couvert dans les cinq tutoriels, voici à quoi devrait ressembler le code du plugin:

   post_parent) // récupère la liste des ancêtres $ parents = array_reverse (get_post_ancestors ($ post-> ID)); // récupère l'ancêtre de premier niveau return $ parents [0];  // retourne l'id - ce sera le plus ancien ancêtre s'il en existe un, ou la page en cours si elle ne retourne pas $ post-> ID; ?>  __ ('Identifie l'emplacement de la page en cours dans la structure du site et affiche une liste des pages dans la même section du site. Ne fonctionne que sur Pages.', 'Tutsplus'));  formulaire de fonction ($ instance) $ defaults = array ('depth' => '-1'); $ profondeur = $ instance ['profondeur']; // balisage pour la forme?> 

$ ancêtre, 'profondeur' => $ instance ['profondeur'], 'title_li' => ",); // définit une valeur pour get_pages afin de vérifier si elle est vide $ list_pages = get_pages ($ args); // vérifie si $ list_pages a des valeurs si ($ list_pages) // ouvre une liste avec la page de l'ancêtre en haut?>
  • ">

Résumé

Créer un widget implique quelques étapes. Ceux-ci sont:

  • Enregistrer votre widget
  • Création de la classe pour contenir les fonctions de widget
  • Écrire un construction fonction pour construire votre widget
  • Écrire un forme fonction pour le formulaire dans l'écran Widgets
  • Écrire un mettre à jour fonction de sorte que le widget peut mettre à jour à partir du formulaire
  • Écrire un widget fonctionner avec la sortie.

Une fois que vous avez fait tout cela, vous aurez un widget de travail, que vous pourrez adapter comme vous le souhaitez..