wp_list_post_revisions

Display list of a post's revisions.

Description

wp_list_post_revisions( (int) $post_id = 0, (string) $type = 'all' ); 

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

  1. if ( !function_exists( 'wp_list_post_revisions' ) ) { 
  2. require_once ABSPATH . WPINC . '/post-template.php'; 
  3.  
  4. // Optional. Post ID or WP_Post object. Default is global $post. 
  5. $post_id = -1; 
  6.  
  7. // 'all' (default), 'revision' or 'autosave' 
  8. $type = 'all'; 
  9.  
  10. // NOTICE! Understand what this does before running. 
  11. $result = wp_list_post_revisions($post_id, $type); 
  12.  

Defined (1)

The function is defined in the following location(s).

/wp-includes/post-template.php  
  1. function wp_list_post_revisions( $post_id = 0, $type = 'all' ) { 
  2. if ( ! $post = get_post( $post_id ) ) 
  3. return; 
  4.  
  5. // $args array with (parent, format, right, left, type) deprecated since 3.6 
  6. if ( is_array( $type ) ) { 
  7. $type = ! empty( $type['type'] ) ? $type['type'] : $type; 
  8. _deprecated_argument( __FUNCTION__, '3.6.0' ); 
  9.  
  10. if ( ! $revisions = wp_get_post_revisions( $post->ID ) ) 
  11. return; 
  12.  
  13. $rows = ''; 
  14. foreach ( $revisions as $revision ) { 
  15. if ( ! current_user_can( 'read_post', $revision->ID ) ) 
  16. continue; 
  17.  
  18. $is_autosave = wp_is_post_autosave( $revision ); 
  19. if ( ( 'revision' === $type && $is_autosave ) || ( 'autosave' === $type && ! $is_autosave ) ) 
  20. continue; 
  21.  
  22. $rows .= "\t<li>" . wp_post_revision_title_expanded( $revision ) . "</li>\n"; 
  23.  
  24. echo "<div class='hide-if-js'><p>" . __( 'JavaScript must be enabled to use this feature.' ) . "</p></div>\n"; 
  25.  
  26. echo "<ul class='post-revisions hide-if-no-js'>\n"; 
  27. echo $rows; 
  28. echo "</ul>";