WordPress Version: 6.1
/**
* Returns all revisions of specified post.
*
* @since 2.6.0
*
* @see get_children()
*
* @param int|WP_Post $post Optional. Post ID or WP_Post object. Default is global `$post`.
* @param array|null $args Optional. Arguments for retrieving post revisions. Default null.
* @return WP_Post[]|int[] Array of revision objects or IDs, or an empty array if none.
*/
function wp_get_post_revisions($post = 0, $args = null)
{
$post = get_post($post);
if (!$post || empty($post->ID)) {
return array();
}
$defaults = array('order' => 'DESC', 'orderby' => 'date ID', 'check_enabled' => true);
$args = wp_parse_args($args, $defaults);
if ($args['check_enabled'] && !wp_revisions_enabled($post)) {
return array();
}
$args = array_merge($args, array('post_parent' => $post->ID, 'post_type' => 'revision', 'post_status' => 'inherit'));
$revisions = get_children($args);
if (!$revisions) {
return array();
}
return $revisions;
}