+/**
+ * Retrieve formatted date timestamp of a revision (linked to that revisions's page).
+ *
+ * @since 3.6.0
+ *
+ * @param int|object $revision Revision ID or revision object.
+ * @param bool $link Optional, default is true. Link to revisions's page?
+ * @return string|false gravatar, user, i18n formatted datetimestamp or localized 'Current Revision'.
+ */
+function wp_post_revision_title_expanded( $revision, $link = true ) {
+ if ( !$revision = get_post( $revision ) )
+ return $revision;
+
+ if ( !in_array( $revision->post_type, array( 'post', 'page', 'revision' ) ) )
+ return false;
+
+ $author = get_the_author_meta( 'display_name', $revision->post_author );
+ /* translators: revision date format, see http://php.net/date */
+ $datef = _x( 'F j, Y @ H:i:s', 'revision date format' );
+
+ $gravatar = get_avatar( $revision->post_author, 24 );
+
+ $date = date_i18n( $datef, strtotime( $revision->post_modified ) );
+ if ( $link && current_user_can( 'edit_post', $revision->ID ) && $link = get_edit_post_link( $revision->ID ) )
+ $date = "<a href='$link'>$date</a>";
+
+ $revision_date_author = sprintf(
+ /* translators: post revision title: 1: author avatar, 2: author name, 3: time ago, 4: date */
+ _x( '%1$s %2$s, %3$s ago (%4$s)', 'post revision title' ),
+ $gravatar,
+ $author,
+ human_time_diff( strtotime( $revision->post_modified ), current_time( 'timestamp' ) ),
+ $date
+ );
+
+ $autosavef = __( '%1$s [Autosave]' );
+ $currentf = __( '%1$s [Current Revision]' );
+
+ if ( !wp_is_post_revision( $revision ) )
+ $revision_date_author = sprintf( $currentf, $revision_date_author );
+ elseif ( wp_is_post_autosave( $revision ) )
+ $revision_date_author = sprintf( $autosavef, $revision_date_author );
+
+ /**
+ * Filter the formatted author and date for a revision.
+ *
+ * @since 4.4.0
+ *
+ * @param string $revision_date_author The formatted string.
+ * @param WP_Post $revision The revision object.
+ * @param bool $link Whether to link to the revisions page, as passed into
+ * wp_post_revision_title_expanded().
+ */
+ return apply_filters( 'wp_post_revision_title_expanded', $revision_date_author, $revision, $link );
+}
+