wp_list_post_revisions()
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.
No Hooks.
Returns
null. Nothing (null).
Usage
wp_list_post_revisions( $post, $type );
- $post(int|WP_Post)
- Post ID or WP_Post object.
Default:global $post - $type(string)
'all'(default),'revision'or'autosave'.
Default:'all'
Changelog
| Since 2.6.0 | Introduced. |
wp_list_post_revisions() wp list post revisions code WP 6.9.1
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>';
}