If it’s a child page, the post_parent
will be a non-zero value, so you could check for that:
if( 0 == $post->post_parent ){
// no parent, get children of this page
$childargs['post_parent'] = $post->ID;
} else {
// has parent, get children of parent page
$childargs['post_parent'] = $post->post_parent;
}
This is assuming your child pages are just a single level below the parent pages. Otherwise, you can fetch all the ancestors of a page with get_post_ancestors
, and get the ID of the highest level parent:
$parents = get_post_ancestors( $post->ID );
$top_level_page = $parents[ count($parents) - 1 ];
Related Posts:
- Get post count of current loop when using multiple queries on one page
- Usage of the new “posts_clauses” filter in WordPress 3.1?
- Display products from specific category in shop page
- get_template_part in for loop
- “pre_get_posts” firing on every query
- Show two random posts from custom post type
- Sort posts by custom taxonomy name
- Loop inside the loop
- Looping through tabular data
- Show default content if custom WP_Query has no posts
- cloning a WP_Query
- How to query ‘posts_per_page’ to display a different blog posts index template?
- Display featured products through custom loop in WooCommerce 3 [closed]
- meta_query on a date range using an array of values
- How is WP_Query connected to WP_Post in The Loop?
- Multiple WP_Query loops with Pagination Not Working
- WooCommerce Only OnSale Products Loop Snippet [closed]
- Apply CSS class to every second database record [closed]
- How to prevent writing duplicate loops?
- Get posts for last working week in WP_Query
- ACF – Get lowest & highest value from field
- query user display_name failed in a custom mysql query foreach
- Query posts by specific word on title
- Multiple taxonomy And acf filter group by
- Reset postdata to custom query in nested queries
- How to get all child pages in their parent page?
- WP_Query condition affects posts_per_page count
- Custom Search Not Consistent with Results
- Display both standard posts in a specific category along with a custom post type in a single loop?
- Orderby is working with one query but not with other
- 1/3 of posts different class
- Two loops on archive page
- Loop Split two Columns
- How to order posts by title after they have already been sorted by category
- How to list posts with disabled/closed comments, with pagination?
- How to make a second query offset -2 from current post
- Running main loop 2 times with conditional statement
- WordPress | Date not always appear [duplicate]
- Array as ‘key’ in WP_Query
- Is_single() conditional tag returns null in query
- Best choice for multiple loop in page?
- WP Query – order posts by meta field first and then order the rest
- Wp_query with 2 meta keys and array of meta values
- Adding a html class based on post count
- Posts in loop all show the same author when there are many authors
- Multiple Rows in a using wp_query
- How to create custom query by keyword in post title?
- If have posts a week old, display, else display a different loop
- Create a loop on my pages with new “WP_Query”
- Create a page template for “top rated posts” but show full content and not just a list
- Daily drip of posts – based on user ‘startData’ – ordered oldest to newest
- How to add tax_query to $args with concatenation
- How to Display Shortcode in the correct location, currently displaying before content after Page Title?
- WP ForLoop to compare meta information of posts to determine what post to display
- WP_Query returns different results from get_posts() [closed]
- How to filter query loop block with a search string from the query parameters
- How to split a post and intercalate elements from a loop
- How to create a widget like this?
- When listing child pages run out of memory
- Different Loop for tag pages?
- Hiding carousel indicators if there’s only one post
- 2 queries with counters
- Search.php – return number of results but cannot loop through
- Creating ‘posts page’ loop based on the page itself
- WordPress Queries Not Working?
- Filter subpages in while loop from WP Query object
- Use have_posts() with array of post results retrieved by $wpdb->get_results
- Custom query does not find pages
- Magazine style frontpage with multiple categories/loops and no duplicate posts
- How to use custom page for all posts with custom url, call another directory?
- Custom wp_query inside a conditional stament inside a template part doesn’t work: why?
- display ACF repater field in archive page
- Duplice post with standard WP loop – fixed by using query_posts() instead
- Check the stored / cached WP_Query with transients on post change
- New template file does not load category-specific post
- Related posts queries
- Get categories within specific term
- Custom query for custom post type not getting correct post ID
- Query post with content only
- update_post_meta() not updating
- Why is my query not giving results?
- how to show more than 1 post into three columns query
- Get a page ancestor from a most viewed list
- Continue loop after $queryObject
- active link for most recent post on vertical tabs
- custom query – offset to pagination
- WP_Query for attachments without duplicating post_parent and displaying tagged image
- List ALL posts within last week from current category on category page
- loop through custom post types with meta data
- Using Query In Post Type Archives
- How ‘secure’ are loops?
- Multiple loops on index page with sticky post and pagination
- How to do a loop inside a loop?
- How to get child pages and add unique class only to active page?
- Main loop querying current template’s info only in custom category archive pages, not my posts
- tax_query not working properly with get_posts
- the_excerpt() not working in custom archive
- How can I display sticky posts at first in wp_query?
- Custom query for certain post type OR another post type with a certain category
- Pagination only showed when no category is set in wp_query