Currently I am displaying posts based on category on a page, this page has custom side menu, which lists all the news articles, once a user clicks on the news title it takes it to that post display the full article, what i would like to do is keep the same menu that i had on my page and have it displayed on my single.php page as well, can i do this or is this is done without the use of sidebar?
Here is the function I'm using to display my menu:
function hierarchical_submenu($post) {
$top_post = $post;
// If the post has ancestors, get its ultimate parent and make that the top post
if ($post->post_parent && $post->ancestors) {
$top_post = get_post(end($post->ancestors));
}
// Always start traversing from the top of the tree
return hierarchical_submenu_get_children($top_post, $post);
}
function hierarchical_submenu_get_children($post, $current_page) {
$menu = '';
// Get all immediate children of this page
$children = get_pages('child_of=' . $post->ID . '&parent=' . $post->ID . '&sort_column=menu_order&sort_order=ASC');
if ($children) {
$menu = "\n<ul>\n";
foreach ($children as $child) {
// If the child is the viewed page or one of its ancestors, highlight it
if (in_array($child->ID, get_post_ancestors($current_page)) || ($child->ID == $current_page->ID)) {
$menu .= '<li class="sel"><a href="' . get_permalink($child) . '" class="sel current-item">' . $child->post_title . '</a>';
} else {
$menu .= '<li><a href="' . get_permalink($child) . '">' . $child->post_title . '</a>';
}
// If the page has children and is the viewed page or one of its ancestors, get its children
if (get_children($child->ID) && (in_array($child->ID, get_post_ancestors($current_page)) || ($child->ID == $current_page->ID))) {
$menu .= hierarchical_submenu_get_children($child, $current_page);
}
$menu .= "</li>\n";
}
$menu .= "</ul>\n";
}
return $menu;
}