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 )
Parameters: (2)
  • (mixed) $data Data to encode as JSON, then print and die.
    Required: No
    Default: null
  • (int) $status_code The HTTP status code to output.
    Required: No
    Default: null
Defined at:
Codex:
Change Log:
  • 4.1.0
  • 4.7.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 ) {
	$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 );
}