Home » Functions » get_post_ancestors

Function Name: get_post_ancestors

Explanation: The get_post_ancestors function is a powerful WordPress function that retrieves the ancestors of a specific post. In simpler terms, it returns an array containing the IDs of all the parent posts up to the root parent. This function is particularly useful when you need to display the hierarchical structure of posts or navigate through the parent-child relationship within your WordPress site.

Usage: To use the get_post_ancestors function, you need to provide the post ID as its parameter. It will then return an array of ancestor post IDs, starting from the immediate parent and going up to the root parent. If there are no ancestors, an empty array will be returned.

Here is an example usage code:

$post_id = 123; // Replace with the ID of the post you want to retrieve ancestors for
$ancestors = get_post_ancestors($post_id);

if ( !empty($ancestors) ) {
    echo "Ancestors of post {$post_id}: ";
    foreach ( $ancestors as $ancestor ) {
        echo "<a href='" . get_permalink($ancestor) . "'>" . get_the_title($ancestor) . "</a> ";
} else {
    echo "No ancestors found for post {$post_id}.";

In this example, we first set the $post_id variable to the ID of the post we want to retrieve ancestors for (replace 123 with the actual post ID). Then, we call the get_post_ancestors function with the $post_id as the parameter and store the result in the $ancestors variable.

Next, we check if the $ancestors array is not empty using the !empty() function. If there are ancestors, we loop through each ancestor using a foreach loop and output a link to their respective permalink and title using the get_permalink() and get_the_title() functions. If there are no ancestors, we simply display a message indicating that no ancestors were found for the specified post.

By utilizing the get_post_ancestors function, you can easily retrieve and display the hierarchical relationship between posts in your WordPress site, enabling you to create advanced navigation systems or display related content in a structured manner.

Learn More on

Register an account to save your snippets or go Pro to get more features.