J'utilise le code suivant pour obtenir l'ID du grand-parent et de l'arrière-grand-parent de la page en cours:
<?php
$current = get_post($post->ID);
$grandparent = $current->post_parent;
$greatGrandparent = $grandparent->post_parent;
?>
<h2>$current: <?php echo $current->ID; ?></h2>
<h2>$grandparent: <?php echo $grandparent->ID; ?></h2>
<h2>$greatGrandparent: <?php echo $greatGrandparent->ID; ?></h2>
Cependant, lorsque j'essaie de leur faire écho, je ne reçois que la valeur de la page en cours:
$ actuel: 335
$ grand-parent
$ greatGrandparent:
Je suis sûr de regarder une page qui a réellement des pages de grands/grands-parents ... quelqu'un peut-il voir ce que je fais mal?
juste une petite erreur. Pour obtenir les objets parent et grand-parent, vous devez également les récupérer. La propriété "post_parent" ne vous donne que l'ID de ce post, pas le post_object lui-même.
Donc, vous changez votre code comme ceci:
<?php
$current = get_post($post->ID);
//Conditional to be sure there is a parent
if($current->post_parent){
$grandparent = get_post($current->post_parent);
//conditional to be sure there is a greatgrandparent
if($grandparent->post_parent){
$greatGrandparent = get_post($grandparent->post_parent);
}
}
?>
<h2>$current: <?php echo $current->ID; ?></h2>
<?php if($grandparent){ ?>
<h2>$grandparent: <?php echo $grandparent->ID; ?></h2>
<?php if($greatGrandparent){ ?>
<h2>$greatGrandparent: <?php echo $greatGrandparent->ID; ?></h2>
<?php } } ?>
Et tout va bien!