Someone at the WordPress StackExchange site was wondering how you could display a list of a page’s ancestors. Pretty much that is the idea of breadcrumbs, so I answered his question using the handy get_ancestors() function.
Below is the code of the function I created to solve the problem. I called it “print_page_parents,” but it might as well be called “page_breadcumbs” =)
Hope you find it useful!
<?php /** * Print list of ancestors in breadcrum fashion, from lowest to highest hierarchy or viceversa. * */ function print_page_parents($reverse = false){ global $post; //create array of pages (i.e. current, parent, grandparent) $page = array($post->ID); $page_ancestors = get_ancestors($post->ID, 'page'); $pages = array_merge($page, $page_ancestors); if($reverse) { //reverse array (i.e. grandparent, parent, current) $pages = array_reverse($pages); } for($i=0; $i<count($pages); $i++) { $output.= get_the_title($pages[$i]); if($i != count($pages) - 1){ $output.= " » "; } } echo $output; } //print lowest to highest print_page_parents(); //print highest to lowest print_page_parents($reverse = true); ?>