WordPress Version: 4.6
/**
* 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 https://secure.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);
}
/**
* Filters 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);
}