Posts, Post Types: Introduce new functions for determining if a post has a parent (`has_post_parent()`) and to fetch the post parent (`get_post_parent()`).

These functions are simple but reduce the logic needed in themes and plugins.

Props ramiy, sebastian.pisula, birgire, audrasjb, xkon

Fixes #33045

Built from https://develop.svn.wordpress.org/trunk@50127


git-svn-id: http://core.svn.wordpress.org/trunk@49806 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
John Blackbourn 2021-02-01 21:22:02 +00:00
parent a69964f4a7
commit 3e12235a79
2 changed files with 26 additions and 1 deletions

View File

@ -1963,3 +1963,28 @@ function wp_list_post_revisions( $post_id = 0, $type = 'all' ) {
echo $rows;
echo '</ul>';
}
/**
* Retrieves the parent post object for the given post.
*
* @since 5.7.0
*
* @param int|WP_Post|null $post Optional. Post ID or WP_Post object. Default is global $post.
* @return WP_Post|null Parent post object, or null if there isn't one.
*/
function get_parent_post( $post = null ) {
$wp_post = get_post( $post );
return ! empty( $wp_post->post_parent ) ? get_post( $wp_post->post_parent ) : null;
}
/**
* Returns whether the given post has a parent post.
*
* @since 5.7.0
*
* @param int|WP_Post|null $post Optional. Post ID or WP_Post object. Default is global $post.
* @return bool Whether the post has a parent post.
*/
function has_parent_post( $post = null ) {
return (bool) get_parent_post( $post );
}

View File

@ -13,7 +13,7 @@
*
* @global string $wp_version
*/
$wp_version = '5.7-alpha-50126';
$wp_version = '5.7-alpha-50127';
/**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.