Is it possible to check if a page is a parent or if it’s a child page?
I have my pages set up like this:
— Parent
—- Child page 1
—- Child page 2
etc.
I want to show a certain menu if it’s a parent page and a different menu if it’s on the child page.
I know I can do something like below but I want to make it a bit more dynamic without including specific page ID’s.
<?php
if ($post->post_parent == '100') { // if current page is child of page with page ID 100
// show image X
}
?>
You can test if the post is a subpage like this:
*(from http://codex.wordpress.org/Conditional_Tags)*
Put this function in the functions.php file of your theme.
Then you can use it:
I know this is an old question but I was searching for this same question and couldn’t find a clear and simple answer until I came up with this one. My answer doesn’t answer his explanation but it answers the main question which is what I was looking for.
This checks whether a page is a child or a parent and allows you to show, for example a sidebar menu, only on pages that are either a child or a parent and not on pages that do not have a parent nor children.
For WordPress, you can simply check:
You can use the get_pages() function. it takes an associative array as an argument. you can give that array ‘child_of’ => get_the_ID() to get the children of the current page, and if it hasn’t any children the whole get_pages() function will return false, otherwise it will return a value that evaluates to true, which can be assigned to a variable to use as a conditional in an if statement.