Get the top parent page in WordPress
A couple of days ago I found myself with the issue of getting the top parent of any page (that one which doesn’t have any father), so after look in WordPress documentation I found a nice function called get_page_hierarchy() and also no documentation about it. Without documentation about the function it was going to be a little bit tricky to know wheter or not this was what I was looking for, so I decided create my own function to receive the post_name of the top parent page. As soon I started I realized that my knowledges about recursivity were a little bit rusty, but I got it …
Here is the code:
<?php
//return the name of the top parent page base on a page_id
function getTopParentPostName($myid){
$mypage = get_page($myid);
if ($mypage->post_parent == 0){
return $mypage->post_name;
}
else{
return getTopParentPostName($mypage->post_parent);
}
}?>
Home
November 5th, 2008 at 22:12
I like people notice all the details and minutiae of everyday little thing could find something attractive and imperceptible to most. Super!
February 13th, 2009 at 13:58
Thanks for the code! Definitely saved me some headaches, just as I was starting to get into this same problem.
February 17th, 2009 at 10:35
Nice work. was looking for exactly how to do this. I tweaked it to “return $mypage” so i could get at everything, which is really helpful.
nice looking site too.
Thanks!
April 17th, 2009 at 06:43
You are the man aren’t you?!! Just what I was looking for, thank you for saving me about 21 minutes.
April 30th, 2009 at 19:28
[...] Now comes the fun part. Let’s get those sidebars showing up when you want them to. You’re going to want to add this code to your functions.php file. I won’t explain what it does until the next part (trust me) (also, thanks to Alberto for this post: http://www.altrugon.com/php/get-the-top-parent-page-in-wordpress/) [...]
January 4th, 2010 at 12:37
Thanks for a wonderfully simple and easy to implement function. Worked like a charm!
February 25th, 2010 at 19:02
Thank you for saving me… : – ) .. Im a so happy now cuz my website project is almost done.. thank you!!!!
March 8th, 2010 at 05:48
Hey, thanks for sharing this. I came across the same function and couldn’t figure out how it worked.