wp_list_post_revisions

The timeline below displays how wordpress function wp_list_post_revisions has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.1

/**
 * Displays a list of a post's revisions.
 *
 * Can output either a UL with edit links or a TABLE with diff interface, and
 * restore action links.
 *
 * @since 2.6.0
 *
 * @param int|WP_Post $post Optional. Post ID or WP_Post object. Default is global $post.
 * @param string      $type 'all' (default), 'revision' or 'autosave'
 */
function wp_list_post_revisions($post = 0, $type = 'all')
{
    $post = get_post($post);
    if (!$post) {
        return;
    }
    // $args array with (parent, format, right, left, type) deprecated since 3.6.
    if (is_array($type)) {
        $type = (!empty($type['type'])) ? $type['type'] : $type;
        _deprecated_argument(__FUNCTION__, '3.6.0');
    }
    $revisions = wp_get_post_revisions($post->ID);
    if (!$revisions) {
        return;
    }
    $rows = '';
    foreach ($revisions as $revision) {
        if (!current_user_can('read_post', $revision->ID)) {
            continue;
        }
        $is_autosave = wp_is_post_autosave($revision);
        if ('revision' === $type && $is_autosave || 'autosave' === $type && !$is_autosave) {
            continue;
        }
        $rows .= "\t<li>" . wp_post_revision_title_expanded($revision) . "</li>\n";
    }
    echo "<div class='hide-if-js'><p>" . __('JavaScript must be enabled to use this feature.') . "</p></div>\n";
    echo "<ul class='post-revisions hide-if-no-js'>\n";
    echo $rows;
    echo '</ul>';
}

WordPress Version: 5.4

/**
 * Display a list of a post's revisions.
 *
 * Can output either a UL with edit links or a TABLE with diff interface, and
 * restore action links.
 *
 * @since 2.6.0
 *
 * @param int|WP_Post $post_id Optional. Post ID or WP_Post object. Default is global $post.
 * @param string      $type    'all' (default), 'revision' or 'autosave'
 */
function wp_list_post_revisions($post_id = 0, $type = 'all')
{
    $post = get_post($post_id);
    if (!$post) {
        return;
    }
    // $args array with (parent, format, right, left, type) deprecated since 3.6.
    if (is_array($type)) {
        $type = (!empty($type['type'])) ? $type['type'] : $type;
        _deprecated_argument(__FUNCTION__, '3.6.0');
    }
    $revisions = wp_get_post_revisions($post->ID);
    if (!$revisions) {
        return;
    }
    $rows = '';
    foreach ($revisions as $revision) {
        if (!current_user_can('read_post', $revision->ID)) {
            continue;
        }
        $is_autosave = wp_is_post_autosave($revision);
        if ('revision' === $type && $is_autosave || 'autosave' === $type && !$is_autosave) {
            continue;
        }
        $rows .= "\t<li>" . wp_post_revision_title_expanded($revision) . "</li>\n";
    }
    echo "<div class='hide-if-js'><p>" . __('JavaScript must be enabled to use this feature.') . "</p></div>\n";
    echo "<ul class='post-revisions hide-if-no-js'>\n";
    echo $rows;
    echo '</ul>';
}

WordPress Version: 5.3

/**
 * Display a list of a post's revisions.
 *
 * Can output either a UL with edit links or a TABLE with diff interface, and
 * restore action links.
 *
 * @since 2.6.0
 *
 * @param int|WP_Post $post_id Optional. Post ID or WP_Post object. Default is global $post.
 * @param string      $type    'all' (default), 'revision' or 'autosave'
 */
function wp_list_post_revisions($post_id = 0, $type = 'all')
{
    $post = get_post($post_id);
    if (!$post) {
        return;
    }
    // $args array with (parent, format, right, left, type) deprecated since 3.6
    if (is_array($type)) {
        $type = (!empty($type['type'])) ? $type['type'] : $type;
        _deprecated_argument(__FUNCTION__, '3.6.0');
    }
    $revisions = wp_get_post_revisions($post->ID);
    if (!$revisions) {
        return;
    }
    $rows = '';
    foreach ($revisions as $revision) {
        if (!current_user_can('read_post', $revision->ID)) {
            continue;
        }
        $is_autosave = wp_is_post_autosave($revision);
        if ('revision' === $type && $is_autosave || 'autosave' === $type && !$is_autosave) {
            continue;
        }
        $rows .= "\t<li>" . wp_post_revision_title_expanded($revision) . "</li>\n";
    }
    echo "<div class='hide-if-js'><p>" . __('JavaScript must be enabled to use this feature.') . "</p></div>\n";
    echo "<ul class='post-revisions hide-if-no-js'>\n";
    echo $rows;
    echo '</ul>';
}

WordPress Version: 5.1

/**
 * Display a list of a post's revisions.
 *
 * Can output either a UL with edit links or a TABLE with diff interface, and
 * restore action links.
 *
 * @since 2.6.0
 *
 * @param int|WP_Post $post_id Optional. Post ID or WP_Post object. Default is global $post.
 * @param string      $type    'all' (default), 'revision' or 'autosave'
 */
function wp_list_post_revisions($post_id = 0, $type = 'all')
{
    if (!$post = get_post($post_id)) {
        return;
    }
    // $args array with (parent, format, right, left, type) deprecated since 3.6
    if (is_array($type)) {
        $type = (!empty($type['type'])) ? $type['type'] : $type;
        _deprecated_argument(__FUNCTION__, '3.6.0');
    }
    if (!$revisions = wp_get_post_revisions($post->ID)) {
        return;
    }
    $rows = '';
    foreach ($revisions as $revision) {
        if (!current_user_can('read_post', $revision->ID)) {
            continue;
        }
        $is_autosave = wp_is_post_autosave($revision);
        if ('revision' === $type && $is_autosave || 'autosave' === $type && !$is_autosave) {
            continue;
        }
        $rows .= "\t<li>" . wp_post_revision_title_expanded($revision) . "</li>\n";
    }
    echo "<div class='hide-if-js'><p>" . __('JavaScript must be enabled to use this feature.') . "</p></div>\n";
    echo "<ul class='post-revisions hide-if-no-js'>\n";
    echo $rows;
    echo '</ul>';
}

WordPress Version: 4.6

/**
 * Display list of a post's revisions.
 *
 * Can output either a UL with edit links or a TABLE with diff interface, and
 * restore action links.
 *
 * @since 2.6.0
 *
 * @param int|WP_Post $post_id Optional. Post ID or WP_Post object. Default is global $post.
 * @param string      $type    'all' (default), 'revision' or 'autosave'
 */
function wp_list_post_revisions($post_id = 0, $type = 'all')
{
    if (!$post = get_post($post_id)) {
        return;
    }
    // $args array with (parent, format, right, left, type) deprecated since 3.6
    if (is_array($type)) {
        $type = (!empty($type['type'])) ? $type['type'] : $type;
        _deprecated_argument(__FUNCTION__, '3.6.0');
    }
    if (!$revisions = wp_get_post_revisions($post->ID)) {
        return;
    }
    $rows = '';
    foreach ($revisions as $revision) {
        if (!current_user_can('read_post', $revision->ID)) {
            continue;
        }
        $is_autosave = wp_is_post_autosave($revision);
        if ('revision' === $type && $is_autosave || 'autosave' === $type && !$is_autosave) {
            continue;
        }
        $rows .= "\t<li>" . wp_post_revision_title_expanded($revision) . "</li>\n";
    }
    echo "<div class='hide-if-js'><p>" . __('JavaScript must be enabled to use this feature.') . "</p></div>\n";
    echo "<ul class='post-revisions hide-if-no-js'>\n";
    echo $rows;
    echo "</ul>";
}

WordPress Version: 4.3

/**
 * Display list of a post's revisions.
 *
 * Can output either a UL with edit links or a TABLE with diff interface, and
 * restore action links.
 *
 * @since 2.6.0
 *
 * @param int|WP_Post $post_id Optional. Post ID or WP_Post object. Default is global $post.
 * @param string      $type    'all' (default), 'revision' or 'autosave'
 */
function wp_list_post_revisions($post_id = 0, $type = 'all')
{
    if (!$post = get_post($post_id)) {
        return;
    }
    // $args array with (parent, format, right, left, type) deprecated since 3.6
    if (is_array($type)) {
        $type = (!empty($type['type'])) ? $type['type'] : $type;
        _deprecated_argument(__FUNCTION__, '3.6');
    }
    if (!$revisions = wp_get_post_revisions($post->ID)) {
        return;
    }
    $rows = '';
    foreach ($revisions as $revision) {
        if (!current_user_can('read_post', $revision->ID)) {
            continue;
        }
        $is_autosave = wp_is_post_autosave($revision);
        if ('revision' === $type && $is_autosave || 'autosave' === $type && !$is_autosave) {
            continue;
        }
        $rows .= "\t<li>" . wp_post_revision_title_expanded($revision) . "</li>\n";
    }
    echo "<div class='hide-if-js'><p>" . __('JavaScript must be enabled to use this feature.') . "</p></div>\n";
    echo "<ul class='post-revisions hide-if-no-js'>\n";
    echo $rows;
    echo "</ul>";
}

WordPress Version: 4.1

/**
 * Display list of a post's revisions.
 *
 * Can output either a UL with edit links or a TABLE with diff interface, and
 * restore action links.
 *
 * @since 2.6.0
 *
 * @param int|WP_Post $post_id Optional. Post ID or WP_Post object. Default is global $post.
 * @param string      $type    'all' (default), 'revision' or 'autosave'
 * @return null
 */
function wp_list_post_revisions($post_id = 0, $type = 'all')
{
    if (!$post = get_post($post_id)) {
        return;
    }
    // $args array with (parent, format, right, left, type) deprecated since 3.6
    if (is_array($type)) {
        $type = (!empty($type['type'])) ? $type['type'] : $type;
        _deprecated_argument(__FUNCTION__, '3.6');
    }
    if (!$revisions = wp_get_post_revisions($post->ID)) {
        return;
    }
    $rows = '';
    foreach ($revisions as $revision) {
        if (!current_user_can('read_post', $revision->ID)) {
            continue;
        }
        $is_autosave = wp_is_post_autosave($revision);
        if ('revision' === $type && $is_autosave || 'autosave' === $type && !$is_autosave) {
            continue;
        }
        $rows .= "\t<li>" . wp_post_revision_title_expanded($revision) . "</li>\n";
    }
    echo "<div class='hide-if-js'><p>" . __('JavaScript must be enabled to use this feature.') . "</p></div>\n";
    echo "<ul class='post-revisions hide-if-no-js'>\n";
    echo $rows;
    echo "</ul>";
}

WordPress Version: 4.0

/**
 * Display list of a post's revisions.
 *
 * Can output either a UL with edit links or a TABLE with diff interface, and
 * restore action links.
 *
 * @since 2.6.0
 *
 * @uses wp_get_post_revisions()
 * @uses wp_post_revision_title_expanded()
 * @uses get_edit_post_link()
 * @uses get_the_author_meta()
 *
 * @param int|WP_Post $post_id Optional. Post ID or WP_Post object. Default is global $post.
 * @param string $type 'all' (default), 'revision' or 'autosave'
 * @return null
 */
function wp_list_post_revisions($post_id = 0, $type = 'all')
{
    if (!$post = get_post($post_id)) {
        return;
    }
    // $args array with (parent, format, right, left, type) deprecated since 3.6
    if (is_array($type)) {
        $type = (!empty($type['type'])) ? $type['type'] : $type;
        _deprecated_argument(__FUNCTION__, '3.6');
    }
    if (!$revisions = wp_get_post_revisions($post->ID)) {
        return;
    }
    $rows = '';
    foreach ($revisions as $revision) {
        if (!current_user_can('read_post', $revision->ID)) {
            continue;
        }
        $is_autosave = wp_is_post_autosave($revision);
        if ('revision' === $type && $is_autosave || 'autosave' === $type && !$is_autosave) {
            continue;
        }
        $rows .= "\t<li>" . wp_post_revision_title_expanded($revision) . "</li>\n";
    }
    echo "<div class='hide-if-js'><p>" . __('JavaScript must be enabled to use this feature.') . "</p></div>\n";
    echo "<ul class='post-revisions hide-if-no-js'>\n";
    echo $rows;
    echo "</ul>";
}

WordPress Version: 3.9

/**
 * Display list of a post's revisions.
 *
 * Can output either a UL with edit links or a TABLE with diff interface, and
 * restore action links.
 *
 * @since 2.6.0
 *
 * @uses wp_get_post_revisions()
 * @uses wp_post_revision_title_expanded()
 * @uses get_edit_post_link()
 * @uses get_the_author_meta()
 *
 * @param int|WP_Post $post_id Optional. Post ID or post object.
 * @param string $type 'all' (default), 'revision' or 'autosave'
 * @return null
 */
function wp_list_post_revisions($post_id = 0, $type = 'all')
{
    if (!$post = get_post($post_id)) {
        return;
    }
    // $args array with (parent, format, right, left, type) deprecated since 3.6
    if (is_array($type)) {
        $type = (!empty($type['type'])) ? $type['type'] : $type;
        _deprecated_argument(__FUNCTION__, '3.6');
    }
    if (!$revisions = wp_get_post_revisions($post->ID)) {
        return;
    }
    $rows = '';
    foreach ($revisions as $revision) {
        if (!current_user_can('read_post', $revision->ID)) {
            continue;
        }
        $is_autosave = wp_is_post_autosave($revision);
        if ('revision' === $type && $is_autosave || 'autosave' === $type && !$is_autosave) {
            continue;
        }
        $rows .= "\t<li>" . wp_post_revision_title_expanded($revision) . "</li>\n";
    }
    echo "<div class='hide-if-js'><p>" . __('JavaScript must be enabled to use this feature.') . "</p></div>\n";
    echo "<ul class='post-revisions hide-if-no-js'>\n";
    echo $rows;
    echo "</ul>";
}

WordPress Version: 3.7

/**
 * Display list of a post's revisions.
 *
 * Can output either a UL with edit links or a TABLE with diff interface, and
 * restore action links.
 *
 * @package WordPress
 * @subpackage Post_Revisions
 * @since 2.6.0
 *
 * @uses wp_get_post_revisions()
 * @uses wp_post_revision_title_expanded()
 * @uses get_edit_post_link()
 * @uses get_the_author_meta()
 *
 * @param int|object $post_id Post ID or post object.
 * @param string $type 'all' (default), 'revision' or 'autosave'
 * @return null
 */
function wp_list_post_revisions($post_id = 0, $type = 'all')
{
    if (!$post = get_post($post_id)) {
        return;
    }
    // $args array with (parent, format, right, left, type) deprecated since 3.6
    if (is_array($type)) {
        $type = (!empty($type['type'])) ? $type['type'] : $type;
        _deprecated_argument(__FUNCTION__, '3.6');
    }
    if (!$revisions = wp_get_post_revisions($post->ID)) {
        return;
    }
    $rows = '';
    foreach ($revisions as $revision) {
        if (!current_user_can('read_post', $revision->ID)) {
            continue;
        }
        $is_autosave = wp_is_post_autosave($revision);
        if ('revision' === $type && $is_autosave || 'autosave' === $type && !$is_autosave) {
            continue;
        }
        $rows .= "\t<li>" . wp_post_revision_title_expanded($revision) . "</li>\n";
    }
    echo "<div class='hide-if-js'><p>" . __('JavaScript must be enabled to use this feature.') . "</p></div>\n";
    echo "<ul class='post-revisions hide-if-no-js'>\n";
    echo $rows;
    echo "</ul>";
}