wp_list_post_revisions
Display list of a post's revisions.
Description
Can output either a UL with edit links or a TABLE with diff interface, and restore action links.
Parameters (2)
- 0. $post_id — Optional. (int)
- Post ID or
WP_Post
object. Default is global$post
. - 1. $type — Optional. (string) =>
'all'
- 'all' (default), revision or autosave
Usage
if ( !function_exists( 'wp_list_post_revisions' ) ) { require_once ABSPATH . WPINC . '/post-template.php'; } // Optional. Post ID or WP_Post object. Default is global $post. $post_id = -1; // 'all' (default), 'revision' or 'autosave' $type = 'all'; // NOTICE! Understand what this does before running. $result = wp_list_post_revisions($post_id, $type);
Defined (1)
The function is defined in the following location(s).
- /wp-includes/post-template.php
- 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>";
- }