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:
Pour suivre ce tutoriel, vous aurez besoin de:
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.
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..
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:
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?>
Créer un widget implique quelques étapes. Ceux-ci sont:
construction
fonction pour construire votre widgetforme
fonction pour le formulaire dans l'écran Widgetsmettre à jour
fonction de sorte que le widget peut mettre à jour à partir du formulairewidget
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..