WordPress ne dispose d’aucune condition pour détecter une page sans enfant. Or, une telle information est particulièrement utile pour afficher ou masquer certains éléments qui respecteraient cette condition.
Ce tutoriel vous explique comment utiliser une fonction PHP afin de tester le cas de figure et injecter le code de votre choix.
La technique employée ici repose sur le recours à la fonction get_post_ancestors de WordPress. Elle permet de retrouver les parents d’un contenu par rapport à son identifiant. Rappelons que WordPress offre la possibilité de hiérarchiser ses pages selon le principe des parents et des enfants.
Nous recherchons ainsi la présence d’enfants en passant l’identifiant du contenu parent dans l’argument child_of
de la fonction wp_list_pages
. À partir de là, une simple condition PHP fait l’affaire : si présence d’enfant alors on exécute le code sinon on fait autre chose.
Un exemple d’application concrète : l’affichage d’un menu hiérarchique à la manière du sommaire d’un article de Wikipédia en cas de pages enfants. Voici le code utilisé :
Pour en savoir plus sur les marqueurs conditionnels avec WordPress, rendez-vous sur le Codex.
bonjour,
le @ est une mauvaise pratique il vaut mieux utiliser un error handler http://php.net/manual/fr/function.set-error-handler.php mais sinon le script est très intéressant. merci.