wpseek.com
Outil de recherche WordPress pour les développeurs et auteurs de thèmes



get_post_ancestors › WordPress Function

Depuis2.5.0
Dépréciéen/a
get_post_ancestors ( $post )
Paramètres:
  • (int|WP_Post) $post Post ID or post object.
    Requis: Oui
Retourne:
  • (int[]) Array of ancestor IDs or empty array if there are none.
Défini(e) dans:
Codex:

Retrieves the IDs of the ancestors of a post.



Source

function get_post_ancestors( $post ) {
	$post = get_post( $post );

	if ( ! $post || empty( $post->post_parent ) || $post->post_parent == $post->ID ) {
		return array();
	}

	$ancestors = array();

	$id          = $post->post_parent;
	$ancestors[] = $id;

	while ( $ancestor = get_post( $id ) ) {
		// Loop detection: If the ancestor has been seen before, break.
		if ( empty( $ancestor->post_parent ) || ( $ancestor->post_parent == $post->ID ) || in_array( $ancestor->post_parent, $ancestors, true ) ) {
			break;
		}

		$id          = $ancestor->post_parent;
		$ancestors[] = $id;
	}

	return $ancestors;
}