Using wp_send_json_success to send JSON success response in WordPress

The wp_send_json_success function is a part of WordPress, a popular content management system. This function is designed to send a JSON response back to a JavaScript request. It is typically used in AJAX operations where the server needs to respond to the client-side with data in a JSON format.

The function works by taking the data provided, encoding it into a JSON format, and then sending this data to the client. Additionally, it automatically sets the response code to 200, which indicates a successful HTTP request. The function also terminates script execution after sending the response, ensuring that no additional processing occurs.

The utility of the wp_send_json_success function lies in its simplification of the process of sending JSON responses. By automatically handling the encoding, response code setting, and termination of script execution, it allows developers to more easily implement AJAX operations in their WordPress applications.

Parameters Accepted by the wp_send_json_success Function

The wp_send_json_success function in WordPress accepts three parameters, all of which are optional. These parameters are:

  • $data: This parameter can be of any type and its default value is null. It is used to encode data as JSON, which is then printed and the function ends.
  • $status_code: This is an integer parameter with a default value of null. It is used to output the HTTP status code.
  • $options: This integer parameter does not have a default value. It is used to pass options to the json_encode() function.

Return Value of the wp_send_json_success Function

The wp_send_json_success function does not return any value. After encoding the data as JSON and printing it, the function stops executing.

Examples

How to Send a Success Response with Data

This example demonstrates how to use the wp_send_json_success function to send a successful response with some data to the client side.

$data = array(
 'message' => 'Operation completed successfully.',
 'status' => 'success',
 'data' => array(
 'id' => 1,
 'name' => 'John Doe',
 'email' => '[email protected]'
 )
);
wp_send_json_success($data);

In the above code, an array of data is prepared with a success message, status, and some additional data. The wp_send_json_success function is then called with this data array as an argument, which sends a JSON-encoded successful response to the client side.

How to Send a Success Response without Data

This example demonstrates how to use the wp_send_json_success function to send a successful response without any data to the client side.

wp_send_json_success();

In the above code, the wp_send_json_success function is called without any arguments. This sends a JSON-encoded successful response to the client side without any data.

How to Send a Success Response with a Custom Status Code

This example demonstrates how to use the wp_send_json_success function to send a successful response with a custom HTTP status code.

$data = array(
 'message' => 'Operation completed successfully.',
 'status' => 'success'
);
$status_code = 201;
wp_send_json_success($data, $status_code);

In the above code, an array of data is prepared with a success message and status. The wp_send_json_success function is then called with this data array and a custom HTTP status code as arguments. This sends a JSON-encoded successful response to the client side with the specified HTTP status code.

Conclusion

The wp_send_json_success function is a WordPress function that sends a JSON response back to an AJAX request, and then terminates execution. This function is particularly beneficial when you need to send a JSON response to a successful AJAX request. It takes an optional parameter, which can be any type of data that can be encoded into JSON format. This function, along with its counterpart wp_send_json_error, provides a standardized way of returning data from AJAX actions in WordPress.

Related WordPress Functions