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.

Merges [40316] to the 4.7 branch.


git-svn-id: https://develop.svn.wordpress.org/branches/4.7@40366 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Pascal Birchler 2017-04-03 22:14:33 +00:00
parent 4294392293
commit f9d84dd4ba
1 changed files with 4 additions and 1 deletions

View File

@ -324,10 +324,13 @@ final class WP_Customize_Selective_Refresh {
*/
if ( ! is_customize_preview() ) {
wp_send_json_error( 'expected_customize_preview', 403 );
} else if ( ! isset( $_POST['partials'] ) ) {
} elseif ( ! isset( $_POST['partials'] ) ) {
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 );
if ( ! is_array( $partials ) ) {