diff --git a/wp-admin/admin-ajax.php b/wp-admin/admin-ajax.php index ec9c3e316c..8644ae3aca 100644 --- a/wp-admin/admin-ajax.php +++ b/wp-admin/admin-ajax.php @@ -483,15 +483,18 @@ case 'autosave' : // The name of this action is hardcoded in edit_post() $do_autosave = (bool) $_POST['autosave']; $do_lock = true; - $data = '

' . sprintf( __('Saved at %s.'), date( __('g:i:s a'), current_time( 'timestamp', true ) ) ) . '

'; + $data = ''; + $message = '

' . sprintf( __('Saved at %s.'), date( __('g:i:s a'), current_time( 'timestamp', true ) ) ) . '

'; $supplemental = array(); $id = 0; if($_POST['post_ID'] < 0) { $_POST['temp_ID'] = $_POST['post_ID']; - if ( $do_autosave ) + if ( $do_autosave ) { $id = wp_write_post(); + $data = $message; + } } else { $post_ID = (int) $_POST['post_ID']; $_POST['ID'] = $post_ID; @@ -517,10 +520,12 @@ case 'autosave' : // The name of this action is hardcoded in edit_post() if ( !current_user_can('edit_post', $post_ID) ) die(__('You are not allowed to edit this post.')); } - if ( $do_autosave ) + if ( $do_autosave ) { $id = wp_update_post($_POST); - else + $data = $message; + } else { $id = $post->ID; + } } if ( $do_lock && $id && is_numeric($id) ) diff --git a/wp-includes/js/autosave.js b/wp-includes/js/autosave.js index 26fdb58034..891914e940 100644 --- a/wp-includes/js/autosave.js +++ b/wp-includes/js/autosave.js @@ -17,6 +17,7 @@ jQuery(function($) { // called when autosaving pre-existing post function autosave_saved(response) { + var oldMessage = jQuery('#autosave').html(); var res = wpAjax.parseAjaxResponse(response, 'autosave'); // parse the ajax response var message = ''; @@ -38,6 +39,7 @@ function autosave_saved(response) { } } if ( message ) { jQuery('#autosave').html(message); } // update autosave message + else if ( oldMessage && res ) { jQuery('#autosave').html( oldMessage ); } autosave_enable_buttons(); // re-enable disabled form buttons return res; }