From a94ba306243ca7c140efca894a1913d4b34a78a4 Mon Sep 17 00:00:00 2001 From: Ryan McCue Date: Thu, 3 Nov 2016 04:57:00 +0000 Subject: [PATCH] REST API: Only provide JSON error code on PHP 5.3+. json_last_error() was only added to PHP 5.3.0, so we can't provide the information for older versions. See #38547. git-svn-id: https://develop.svn.wordpress.org/trunk@39111 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-includes/rest-api/class-wp-rest-request.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/wp-includes/rest-api/class-wp-rest-request.php b/src/wp-includes/rest-api/class-wp-rest-request.php index 734ee982fc..3c465babd0 100644 --- a/src/wp-includes/rest-api/class-wp-rest-request.php +++ b/src/wp-includes/rest-api/class-wp-rest-request.php @@ -683,9 +683,12 @@ class WP_REST_Request implements ArrayAccess { $error_data = array( 'status' => WP_Http::BAD_REQUEST, - 'json_error_code' => json_last_error(), - 'json_error_message' => json_last_error_msg(), ); + if ( function_exists( 'json_last_error' ) ) { + $error_data['json_error_code'] = json_last_error(); + $error_data['json_error_message'] = json_last_error_msg(); + } + return new WP_Error( 'rest_invalid_json', __( 'Invalid JSON body passed.' ), $error_data ); }