WordPress : Comment puis-je détecter des relations hiérarchiques au-delà des enfants (petit-enfant, arrière-petit-enfant, etc.) ?
Souvent, un thème personnalisé pour WordPress nécessitera un contenu dynamique qui reflète une relation avec une page de niveau supérieur d’un site.
Existe-t-il une balise conditionnelle qui vérifiera si la page actuelle est un petit-enfant (ou séparée par d’autres générations) par ID ?
Solution n°1 trouvée
Il s’avère qu’il existe une excellente fonction qui a été diffusée sur les forums WordPressis_tree()
function is_tree($pid) { // $pid = The ID of the page we're looking for pages underneath
global $post; // load details about this page
$anc = get_post_ancestors( $post->ID );
foreach($anc as $ancestor) {
if(is_page() && $ancestor == $pid) {
return true;
}
}
if(is_page()&&(is_page($pid)))
return true; // we're at the page or at a sub page
else
return false; // we're elsewhere
};
Pour l’utiliser dans un modèle, donnez-lui simplement l’ID avec lequel vous voulez vérifier la page actuelle, et il renverra vrai si la page actuelle est un descendant.
<?php if(is_tree(12)){echo 'foobar';} ?>
0 commentaire