WP-tips : Récupérer l’ID de la page parent
22 décembre 2008
Je cherchais à faire un menu horizontal présentant la liste des pages de niveau 1 (pages parents n’ayant pas de parents), et un menu vertical présentant la liste des enfants de la page de niveau 1
Pour le menu horizontal, j’utilise la fonction wp_list_pages avec comme paramètre
depth=1
Ensuite, je cherche à afficher dans un autre menu la liste des pages filles de la page du menu horizontal
$children = wp_list_pages('title_li=Pages_enfants&child_of='.$post->ID.'&echo=1');
if ($children) { echo $children; }
Cela me conviendrait, sauf que quand je suis sur une des pages enfants, il ne m’affiche plus que les potentielles pages sous-enfants de cette page enfant. J’ai donc créé une fonction qui va chercher l’identifiant de la page parent de plus haut niveau :
function idsup($idcourant) {
global $wpdb;
$r = $wpdb->get_var("SELECT post_parent FROM $wpdb->posts WHERE ID = '$idcourant'");
if ($r !=0) { $return = idsup($r); }
else {$return = $idcourant;}
return $return;
}
Pour l’insérer dans ce bout de code :
$children = wp_list_pages('title_li=&child_of='.idsup($post->ID).'&echo=1');
if ($children) { echo $children; } ?>



