wp_send_json_success( mixed $data = null, int $status_code = null, int $options )

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

Parameters

$datamixedoptional
Data to encode as JSON, then print and die.

Default:null

$status_codeintoptional
The HTTP status code to output.

Default:null

$optionsintoptional
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

Source

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

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

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

Changelog

VersionDescription
5.6.0The $options parameter was added.
4.7.0The $status_code parameter was added.
3.5.0Introduced.

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 ) {
    		e.preventDefault();
    		jQuery.post( pluginUrl+ 'ajax/save_field.php', 
    			jQuery( '#my-form' ).serialize(), function( data ) {                        
    				alert( data.message ); 
    			}
    		);
    	} );
    } );

    save_field.php:

    // 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.