WordPress Version: 6.1
/**
* Performs autosave with heartbeat.
*
* @since 3.9.0
*
* @param array $response The Heartbeat response.
* @param array $data The $_POST data sent.
* @return array The Heartbeat response.
*/
function heartbeat_autosave($response, $data)
{
if (!empty($data['wp_autosave'])) {
$saved = wp_autosave($data['wp_autosave']);
if (is_wp_error($saved)) {
$response['wp_autosave'] = array('success' => false, 'message' => $saved->get_error_message());
} elseif (empty($saved)) {
$response['wp_autosave'] = array('success' => false, 'message' => __('Error while saving.'));
} else {
/* translators: Draft saved date format, see https://www.php.net/manual/datetime.format.php */
$draft_saved_date_format = __('g:i:s a');
$response['wp_autosave'] = array(
'success' => true,
/* translators: %s: Date and time. */
'message' => sprintf(__('Draft saved at %s.'), date_i18n($draft_saved_date_format)),
);
}
}
return $response;
}