_ajax_wp_die_handler

The timeline below displays how wordpress function _ajax_wp_die_handler has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.2

/**
 * Kills WordPress execution and displays Ajax response with an error message.
 *
 * This is the handler for wp_die() when processing Ajax requests.
 *
 * @since 3.4.0
 * @access private
 *
 * @param string       $message Error message.
 * @param string       $title   Optional. Error title (unused). Default empty string.
 * @param string|array $args    Optional. Arguments to control behavior. Default empty array.
 */
function _ajax_wp_die_handler($message, $title = '', $args = array())
{
    // Set default 'response' to 200 for Ajax requests.
    $args = wp_parse_args($args, array('response' => 200));
    list($message, $title, $parsed_args) = _wp_die_process_input($message, $title, $args);
    if (!headers_sent()) {
        // This is intentional. For backward-compatibility, support passing null here.
        if (null !== $args['response']) {
            status_header($parsed_args['response']);
        }
        nocache_headers();
    }
    if (is_scalar($message)) {
        $message = (string) $message;
    } else {
        $message = '0';
    }
    if ($parsed_args['exit']) {
        die($message);
    }
    echo $message;
}

WordPress Version: 5.5

/**
 * Kills WordPress execution and displays Ajax response with an error message.
 *
 * This is the handler for wp_die() when processing Ajax requests.
 *
 * @since 3.4.0
 * @access private
 *
 * @param string       $message Error message.
 * @param string       $title   Optional. Error title (unused). Default empty.
 * @param string|array $args    Optional. Arguments to control behavior. Default empty array.
 */
function _ajax_wp_die_handler($message, $title = '', $args = array())
{
    // Set default 'response' to 200 for Ajax requests.
    $args = wp_parse_args($args, array('response' => 200));
    list($message, $title, $parsed_args) = _wp_die_process_input($message, $title, $args);
    if (!headers_sent()) {
        // This is intentional. For backward-compatibility, support passing null here.
        if (null !== $args['response']) {
            status_header($parsed_args['response']);
        }
        nocache_headers();
    }
    if (is_scalar($message)) {
        $message = (string) $message;
    } else {
        $message = '0';
    }
    if ($parsed_args['exit']) {
        die($message);
    }
    echo $message;
}

WordPress Version: 5.3

/**
 * Kills WordPress execution and displays Ajax response with an error message.
 *
 * This is the handler for wp_die() when processing Ajax requests.
 *
 * @since 3.4.0
 * @access private
 *
 * @param string       $message Error message.
 * @param string       $title   Optional. Error title (unused). Default empty.
 * @param string|array $args    Optional. Arguments to control behavior. Default empty array.
 */
function _ajax_wp_die_handler($message, $title = '', $args = array())
{
    // Set default 'response' to 200 for AJAX requests.
    $args = wp_parse_args($args, array('response' => 200));
    list($message, $title, $parsed_args) = _wp_die_process_input($message, $title, $args);
    if (!headers_sent()) {
        // This is intentional. For backward-compatibility, support passing null here.
        if (null !== $args['response']) {
            status_header($parsed_args['response']);
        }
        nocache_headers();
    }
    if (is_scalar($message)) {
        $message = (string) $message;
    } else {
        $message = '0';
    }
    if ($parsed_args['exit']) {
        die($message);
    }
    echo $message;
}

WordPress Version: 5.2

/**
 * Kills WordPress execution and displays Ajax response with an error message.
 *
 * This is the handler for wp_die() when processing Ajax requests.
 *
 * @since 3.4.0
 * @access private
 *
 * @param string       $message Error message.
 * @param string       $title   Optional. Error title (unused). Default empty.
 * @param string|array $args    Optional. Arguments to control behavior. Default empty array.
 */
function _ajax_wp_die_handler($message, $title = '', $args = array())
{
    // Set default 'response' to 200 for AJAX requests.
    $args = wp_parse_args($args, array('response' => 200));
    list($message, $title, $r) = _wp_die_process_input($message, $title, $args);
    if (!headers_sent()) {
        // This is intentional. For backward-compatibility, support passing null here.
        if (null !== $args['response']) {
            status_header($r['response']);
        }
        nocache_headers();
    }
    if (is_scalar($message)) {
        $message = (string) $message;
    } else {
        $message = '0';
    }
    if ($r['exit']) {
        die($message);
    }
    echo $message;
}

WordPress Version: 5.1

/**
 * Kill WordPress ajax execution.
 *
 * This is the handler for wp_die when processing Ajax requests.
 *
 * @since 3.4.0
 * @access private
 *
 * @param string       $message Error message.
 * @param string       $title   Optional. Error title (unused). Default empty.
 * @param string|array $args    Optional. Arguments to control behavior. Default empty array.
 */
function _ajax_wp_die_handler($message, $title = '', $args = array())
{
    // Set default 'response' to 200 for AJAX requests.
    $args = wp_parse_args($args, array('response' => 200));
    list($message, $title, $r) = _wp_die_process_input($message, $title, $args);
    // This is intentional. For backward-compatibility, support passing null here.
    if (!headers_sent() && null !== $args['response']) {
        status_header($r['response']);
    }
    if (is_scalar($message)) {
        $message = (string) $message;
    } else {
        $message = '0';
    }
    if ($r['exit']) {
        die($message);
    }
    echo $message;
}

WordPress Version: 4.7

/**
 * Kill WordPress ajax execution.
 *
 * This is the handler for wp_die when processing Ajax requests.
 *
 * @since 3.4.0
 * @access private
 *
 * @param string       $message Error message.
 * @param string       $title   Optional. Error title (unused). Default empty.
 * @param string|array $args    Optional. Arguments to control behavior. Default empty array.
 */
function _ajax_wp_die_handler($message, $title = '', $args = array())
{
    $defaults = array('response' => 200);
    $r = wp_parse_args($args, $defaults);
    if (!headers_sent() && null !== $r['response']) {
        status_header($r['response']);
    }
    if (is_scalar($message)) {
        die((string) $message);
    }
    die('0');
}

WordPress Version: 4.0

/**
 * Kill WordPress ajax execution.
 *
 * This is the handler for wp_die when processing Ajax requests.
 *
 * @since 3.4.0
 * @access private
 *
 * @param string $message Optional. Response to print. Default empty.
 */
function _ajax_wp_die_handler($message = '')
{
    if (is_scalar($message)) {
        die((string) $message);
    }
    die('0');
}

WordPress Version: 3.7

/**
 * Kill WordPress ajax execution.
 *
 * This is the handler for wp_die when processing Ajax requests.
 *
 * @since 3.4.0
 * @access private
 *
 * @param string $message Optional. Response to print.
 */
function _ajax_wp_die_handler($message = '')
{
    if (is_scalar($message)) {
        die((string) $message);
    }
    die('0');
}