A WordPress-centric search engine for devs and theme authors



wp_send_json_error ›

Since3.5.0
Deprecatedn/a
wp_send_json_error ( $data = null, $status_code = null, $options = 0 )
Parameters: (3)
  • (mixed) $data Optional. Data to encode as JSON, then print and die. Default null.
    Required: No
    Default: null
  • (int) $status_code Optional. The HTTP status code to output. Default null.
    Required: No
    Default: null
  • (int) $options Optional. Options to be passed to json_encode(). Default 0.
    Required: No
    Default:
Defined at:
Codex:
Change Log:
  • 4.1.0
  • 4.7.0
  • 5.6.0

Send a JSON response back to an Ajax request, indicating failure.

If the $data parameter is a WP_Error object, the errors within the object are processed and output as an array of error codes and corresponding messages. All other types are output without further processing.


Source

function wp_send_json_error( $data = null, $status_code = null, $options = 0 ) {
	$response = array( 'success' => false );

	if ( isset( $data ) ) {
		if ( is_wp_error( $data ) ) {
			$result = array();
			foreach ( $data->errors as $code => $messages ) {
				foreach ( $messages as $message ) {
					$result[] = array(
						'code'    => $code,
						'message' => $message,
					);
				}
			}

			$response['data'] = $result;
		} else {
			$response['data'] = $data;
		}
	}

	wp_send_json( $response, $status_code, $options );
}