wp_send_json_success( mixed $value = null, int $status_code = null, int $flags )

Sends a JSON response back to an Ajax request, indicating success.


Data to encode as JSON, then print and die.


The HTTP status code to output.


Options to be passed to json_encode(). Default 0.

More Information

The response object will always have a success key with the value true. If anything is passed to the function it will be encoded as the value for a data key.

Example arrays such as the following are converted to JSON:

$response = array( 'success' => true );                   //if $data is empty
$response = array( 'success' => true, 'data' => $data );  //if $data is set


function wp_send_json_success( $value = null, $status_code = null, $flags = 0 ) {
	$response = array( 'success' => true );

	if ( isset( $value ) ) {
		$response['data'] = $value;

	wp_send_json( $response, $status_code, $flags );


5.6.0The $flags parameter was added.
4.7.0The $status_code parameter was added.

User Contributed Notes

  1. Skip to note 3 content

    Busy working on sending JSON requests back to Zapier, here’s an example to help people get started. You can send an associative array of any data you need to get returned/shown.

    wp_send_json_success( array( 
        'name' => 'Andrew', 
        'call' => 'From some API/trigger', 
        'variable' => $var,
    ), 200 );
  2. Skip to note 4 content

    Basic Example

    jQuery( document ).ready( function() {
    	jQuery( '#btn_save' ).click( function( e ) {
    		jQuery.post( pluginUrl+ 'ajax/save_field.php', 
    			jQuery( '#my-form' ).serialize(), function( data ) {                        
    				alert( data.message ); 
    	} );
    } );


    // Bootstrap WP
    $return = array(
    	'message' => __( 'Saved', 'textdomain' ),
    	'ID'      => 1
    wp_send_json_success( $return );

You must log in before being able to contribute a note or feedback.