Customize: Fix selective refresh when customizing the 404 template.

Overrides the 404 status during partial refresh requests to serve back 200 so that the request is not deemed a failure and invoke the fallback behavior (full refresh).

See #27355.
Fixes #40018.

Built from https://develop.svn.wordpress.org/trunk@40316


git-svn-id: http://core.svn.wordpress.org/trunk@40223 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Weston Ruter 2017-03-23 16:57:43 +00:00
parent 090901009b
commit c78f903a7b
2 changed files with 5 additions and 2 deletions

View File

@ -324,10 +324,13 @@ final class WP_Customize_Selective_Refresh {
*/ */
if ( ! is_customize_preview() ) { if ( ! is_customize_preview() ) {
wp_send_json_error( 'expected_customize_preview', 403 ); wp_send_json_error( 'expected_customize_preview', 403 );
} else if ( ! isset( $_POST['partials'] ) ) { } elseif ( ! isset( $_POST['partials'] ) ) {
wp_send_json_error( 'missing_partials', 400 ); wp_send_json_error( 'missing_partials', 400 );
} }
// Ensure that doing selective refresh on 404 template doesn't result in fallback rendering behavior (full refreshes).
status_header( 200 );
$partials = json_decode( wp_unslash( $_POST['partials'] ), true ); $partials = json_decode( wp_unslash( $_POST['partials'] ), true );
if ( ! is_array( $partials ) ) { if ( ! is_array( $partials ) ) {

View File

@ -4,7 +4,7 @@
* *
* @global string $wp_version * @global string $wp_version
*/ */
$wp_version = '4.8-alpha-40315'; $wp_version = '4.8-alpha-40316';
/** /**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema. * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.