wppaste
WordPress

WP_Ajax_Response

Since
2.1.0
Source
wp-includes/class-wp-ajax-response.php:8
Send XML response back to Ajax request.

Compatibility

WordPress
since 2.1.0
  • 6.7.7
  • 6.8.8
  • 6.9.7
  • 7.0.4
  • 7.1.0

Present in every tracked release (6.7.7 to 7.1.0).

Properties · 1

$responsesarraypublic
Store XML responses to send.

Methods · 3

  • __construct()Constructor - Passes args to WP_Ajax_Response::add().
  • add()Appends data to an XML response based on given arguments.
  • send()Display XML formatted responses.

Source code

#[AllowDynamicProperties]class WP_Ajax_Response {	/**	 * Store XML responses to send.	 *	 * @since 2.1.0	 * @var array	 */	public $responses = array(); 	/**	 * Constructor - Passes args to WP_Ajax_Response::add().	 *	 * @since 2.1.0	 *	 * @see WP_Ajax_Response::add()	 *	 * @param string|array $args Optional. Will be passed to add() method.	 */	public function __construct( $args = '' ) {		if ( ! empty( $args ) ) {			$this->add( $args );		}	} 	/**	 * Appends data to an XML response based on given arguments.	 *	 * With `$args` defaults, extra data output would be:	 *	 *     <response action='{$action}_$id'>	 *      <$what id='$id' position='$position'>	 *          <response_data><![CDATA[$data]]></response_data>	 *      </$what>	 *     </response>	 *	 * @since 2.1.0	 *	 * @param string|array $args {	 *     Optional. An array or string of XML response arguments.	 *	 *     @type string          $what         XML-RPC response type. Used as a child element of `<response>`.	 *                                         Default 'object' (`<object>`).	 *     @type string|false    $action       Value to use for the `action` attribute in `<response>`. Will be	 *                                         appended with `_$id` on output. If false, `$action` will default to	 *                                         the value of `$_POST['action']`. Default false.	 *     @type int|WP_Error    $id           The response ID, used as the response type `id` attribute. Also	 *                                         accepts a `WP_Error` object if the ID does not exist. Default 0.	 *     @type int|false       $old_id       The previous response ID. Used as the value for the response type	 *                                         `old_id` attribute. False hides the attribute. Default false.	 *     @type string          $position     Value of the response type `position` attribute. Accepts 1 (bottom),	 *                                         -1 (top), HTML ID (after), or -HTML ID (before). Default 1 (bottom).	 *     @type string|WP_Error $data         The response content/message. Also accepts a WP_Error object if the	 *                                         ID does not exist. Default empty.	 *     @type array           $supplemental An array of extra strings that will be output within a `<supplemental>`	 *                                         element as CDATA. Default empty array.	 * }	 * @return string XML response.	 */	public function add( $args = '' ) {		$defaults = array(			'what'         => 'object',			'action'       => false,			'id'           => '0',			'old_id'       => false,			'position'     => 1,			'data'         => '',			'supplemental' => array(),		); 		$parsed_args = wp_parse_args( $args, $defaults ); 		$position = preg_replace( '/[^a-z0-9:_-]/i', '', $parsed_args['position'] );		$id       = $parsed_args['id'];		$what     = $parsed_args['what'];		$action   = $parsed_args['action'];		$old_id   = $parsed_args['old_id'];		$data     = $parsed_args['data']; 		if ( is_wp_error( $id ) ) {

Changelog

Introduced in 2.1.0. Unchanged from 6.7.7 through 7.1.0.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 7.1.0

Signature, return type and hooks compared across 5 parsed releases.

About this page

Parsed data
Generated from the wordpress-develop 6.9.7 tag, from src/wp-includes/class-wp-ajax-response.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
Corrections
Something wrong on this page? Report it and it gets fixed in the next regeneration.