Listing Page (wp_list_pages) problem
-
I’m having some difficulties with listing pages dynamically using WordPress syntax.
I have an attorney site that I’m working on, and I’m simply trying to list the parent categories, as well as the child pages – and the child’s child pages.
Here’s the URL of the site for a visual:
https://kirkcdavis.com/wordpress/dui/dui-penalties/And here is the structure of the navigation that I ideally want:
-DUI
–Court
–DUI Arrest
–DUI Penalties
—Ignition Interlock Device
—Electronic Home Monitoring
—Victim Impact Panel
—Alcohol Assessment
—Alcohol Information School
—Alcohol Treatment
—Mandatory Penalty Chart
—Probation
–License SuspensionI want it to show all 4 headings (parents): Court, DUI Penalties, DUI Arrest and License Suspension – and then list the child pages for that particular page, while keeping the other parent categories.
I have this partially working, with the top side navigation of the page (https://kirkcdavis.com/wordpress/dui/dui-penalties/) listing the 4 parent categories, but none of the child ones. And the code for this I’m using is the following:
<div id="sidebar"> <ul id="subnav"> <?php wp_list_pages( array('title_li'=>'','include'=>get_post_top_ancestor_id()) ); ?> <ul> <?php wp_list_pages( array('title_li'=>'','depth'=>1,'child_of'=>get_post_top_ancestor_id()) ); ?> </ul> </li> </ul> </div>
Then, the bottom sidebar examples on the page (https://kirkcdavis.com/wordpress/dui/dui-penalties/) lists the main overall category (DUI) and then jumps to the sublistings of DUI Penalties, but doesn’t list DUI Penalties or any of the other 3 parent categories.
Here’s the code I’m using for this section:
<div id="sidebar"> <ul id="subnav"> <?php wp_list_pages( array('title_li'=>'','include'=>get_post_top_ancestor_id()) ); ?> <?php global $post; $thispage = $post->ID; // grabs the current post id from global and then assigns it to thispage ?> <?php $pagekids = get_pages("child_of=".$thispage.""); // gets a list of page that are sub pages of the current page and assigns then to pagekids ?> <?php if ($pagekids) { // if there are any values stored in pagekids and therefore the current page has subpages ?> <ul> <?php wp_list_pages("depth=1&title_li=&sort_column=menu_order&child_of=".$thispage); // display the sub pages of the current page only ?> </ul> <?php } else { // if there are no sub pages for the current page ?> <ul> <?php echo wp_list_pages('title_li=&child_of='.$post->post_parent.'&echo=0'); ?> </ul> <?php } ?> </ul></div>
So I think I’m close, but for some reason can’t figure this out. I need a combination of the two – where again, I will have all 4 parent pages/categories and then the subpages for that particular parent page. Hope this makes sense. If I can clarify anything, let me knwo. And thanks for looking and your help!
- The topic ‘Listing Page (wp_list_pages) problem’ is closed to new replies.