From 43d053318e8be74765971668bf743a0ff9dd4d47 Mon Sep 17 00:00:00 2001 From: Andrew Ozz Date: Mon, 31 Aug 2015 23:07:36 +0000 Subject: [PATCH] Editor, Press This: force a page reload when the user publishes a post and then clicks the back button. Fixes #23691. git-svn-id: https://develop.svn.wordpress.org/trunk@33836 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-admin/js/post.js | 12 ++++++++++++ src/wp-admin/js/press-this.js | 12 +++++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/wp-admin/js/post.js b/src/wp-admin/js/post.js index 085c5d865a..19b94ed367 100644 --- a/src/wp-admin/js/post.js +++ b/src/wp-admin/js/post.js @@ -929,6 +929,18 @@ jQuery(document).ready( function($) { event.preventDefault(); } }); + + if ( $( '#original_post_status' ).val() === 'auto-draft' && window.history.replaceState ) { + var location; + + $( '#publish' ).on( 'click', function() { + location = window.location.href; + location += ( location.indexOf( '?' ) !== -1 ) ? '&' : '?'; + location += 'wp-post-new-reload=true'; + + window.history.replaceState( null, null, location ); + }); + } }); ( function( $, counter ) { diff --git a/src/wp-admin/js/press-this.js b/src/wp-admin/js/press-this.js index beaca67224..48004869c8 100644 --- a/src/wp-admin/js/press-this.js +++ b/src/wp-admin/js/press-this.js @@ -773,7 +773,8 @@ // Publish, Draft and Preview buttons $( '.post-actions' ).on( 'click.press-this', function( event ) { - var $target = $( event.target ), + var location, + $target = $( event.target ), $button = $target.closest( 'button' ); if ( $button.length ) { @@ -782,6 +783,15 @@ submitPost( 'draft' ); } else if ( $button.hasClass( 'publish-button' ) ) { $button.addClass( 'is-saving' ); + + if ( window.history.replaceState ) { + location = window.location.href; + location += ( location.indexOf( '?' ) !== -1 ) ? '&' : '?'; + location += 'wp-press-this-reload=true'; + + window.history.replaceState( null, null, location ); + } + submitPost( 'publish' ); } else if ( $button.hasClass( 'preview-button' ) ) { prepareFormData();