_wp_die_process_input

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

WordPress Version: 6.5

/**
 * Processes arguments passed to wp_die() consistently for its handlers.
 *
 * @since 5.1.0
 * @access private
 *
 * @param string|WP_Error $message Error message or WP_Error object.
 * @param string          $title   Optional. Error title. Default empty string.
 * @param string|array    $args    Optional. Arguments to control behavior. Default empty array.
 * @return array {
 *     Processed arguments.
 *
 *     @type string $0 Error message.
 *     @type string $1 Error title.
 *     @type array  $2 Arguments to control behavior.
 * }
 */
function _wp_die_process_input($message, $title = '', $args = array())
{
    $defaults = array('response' => 0, 'code' => '', 'exit' => true, 'back_link' => false, 'link_url' => '', 'link_text' => '', 'text_direction' => '', 'charset' => 'utf-8', 'additional_errors' => array());
    $args = wp_parse_args($args, $defaults);
    if (function_exists('is_wp_error') && is_wp_error($message)) {
        if (!empty($message->errors)) {
            $errors = array();
            foreach ((array) $message->errors as $error_code => $error_messages) {
                foreach ((array) $error_messages as $error_message) {
                    $errors[] = array('code' => $error_code, 'message' => $error_message, 'data' => $message->get_error_data($error_code));
                }
            }
            $message = $errors[0]['message'];
            if (empty($args['code'])) {
                $args['code'] = $errors[0]['code'];
            }
            if (empty($args['response']) && is_array($errors[0]['data']) && !empty($errors[0]['data']['status'])) {
                $args['response'] = $errors[0]['data']['status'];
            }
            if (empty($title) && is_array($errors[0]['data']) && !empty($errors[0]['data']['title'])) {
                $title = $errors[0]['data']['title'];
            }
            if (WP_DEBUG_DISPLAY && is_array($errors[0]['data']) && !empty($errors[0]['data']['error'])) {
                $args['error_data'] = $errors[0]['data']['error'];
            }
            unset($errors[0]);
            $args['additional_errors'] = array_values($errors);
        } else {
            $message = '';
        }
    }
    $have_gettext = function_exists('__');
    // The $title and these specific $args must always have a non-empty value.
    if (empty($args['code'])) {
        $args['code'] = 'wp_die';
    }
    if (empty($args['response'])) {
        $args['response'] = 500;
    }
    if (empty($title)) {
        $title = $have_gettext ? __('WordPress › Error') : 'WordPress › Error';
    }
    if (empty($args['text_direction']) || !in_array($args['text_direction'], array('ltr', 'rtl'), true)) {
        $args['text_direction'] = 'ltr';
        if (function_exists('is_rtl') && is_rtl()) {
            $args['text_direction'] = 'rtl';
        }
    }
    if (!empty($args['charset'])) {
        $args['charset'] = _canonical_charset($args['charset']);
    }
    return array($message, $title, $args);
}

WordPress Version: 6.2

/**
 * Processes arguments passed to wp_die() consistently for its handlers.
 *
 * @since 5.1.0
 * @access private
 *
 * @param string|WP_Error $message Error message or WP_Error object.
 * @param string          $title   Optional. Error title. Default empty string.
 * @param string|array    $args    Optional. Arguments to control behavior. Default empty array.
 * @return array {
 *     Processed arguments.
 *
 *     @type string $0 Error message.
 *     @type string $1 Error title.
 *     @type array  $2 Arguments to control behavior.
 * }
 */
function _wp_die_process_input($message, $title = '', $args = array())
{
    $defaults = array('response' => 0, 'code' => '', 'exit' => true, 'back_link' => false, 'link_url' => '', 'link_text' => '', 'text_direction' => '', 'charset' => 'utf-8', 'additional_errors' => array());
    $args = wp_parse_args($args, $defaults);
    if (function_exists('is_wp_error') && is_wp_error($message)) {
        if (!empty($message->errors)) {
            $errors = array();
            foreach ((array) $message->errors as $error_code => $error_messages) {
                foreach ((array) $error_messages as $error_message) {
                    $errors[] = array('code' => $error_code, 'message' => $error_message, 'data' => $message->get_error_data($error_code));
                }
            }
            $message = $errors[0]['message'];
            if (empty($args['code'])) {
                $args['code'] = $errors[0]['code'];
            }
            if (empty($args['response']) && is_array($errors[0]['data']) && !empty($errors[0]['data']['status'])) {
                $args['response'] = $errors[0]['data']['status'];
            }
            if (empty($title) && is_array($errors[0]['data']) && !empty($errors[0]['data']['title'])) {
                $title = $errors[0]['data']['title'];
            }
            unset($errors[0]);
            $args['additional_errors'] = array_values($errors);
        } else {
            $message = '';
        }
    }
    $have_gettext = function_exists('__');
    // The $title and these specific $args must always have a non-empty value.
    if (empty($args['code'])) {
        $args['code'] = 'wp_die';
    }
    if (empty($args['response'])) {
        $args['response'] = 500;
    }
    if (empty($title)) {
        $title = $have_gettext ? __('WordPress › Error') : 'WordPress › Error';
    }
    if (empty($args['text_direction']) || !in_array($args['text_direction'], array('ltr', 'rtl'), true)) {
        $args['text_direction'] = 'ltr';
        if (function_exists('is_rtl') && is_rtl()) {
            $args['text_direction'] = 'rtl';
        }
    }
    if (!empty($args['charset'])) {
        $args['charset'] = _canonical_charset($args['charset']);
    }
    return array($message, $title, $args);
}

WordPress Version: 5.3

/**
 * Processes arguments passed to wp_die() consistently for its handlers.
 *
 * @since 5.1.0
 * @access private
 *
 * @param string|WP_Error $message Error message or WP_Error object.
 * @param string          $title   Optional. Error title. Default empty.
 * @param string|array    $args    Optional. Arguments to control behavior. Default empty array.
 * @return array {
 *     Processed arguments.
 *
 *     @type string $0 Error message.
 *     @type string $1 Error title.
 *     @type array  $2 Arguments to control behavior.
 * }
 */
function _wp_die_process_input($message, $title = '', $args = array())
{
    $defaults = array('response' => 0, 'code' => '', 'exit' => true, 'back_link' => false, 'link_url' => '', 'link_text' => '', 'text_direction' => '', 'charset' => 'utf-8', 'additional_errors' => array());
    $args = wp_parse_args($args, $defaults);
    if (function_exists('is_wp_error') && is_wp_error($message)) {
        if (!empty($message->errors)) {
            $errors = array();
            foreach ((array) $message->errors as $error_code => $error_messages) {
                foreach ((array) $error_messages as $error_message) {
                    $errors[] = array('code' => $error_code, 'message' => $error_message, 'data' => $message->get_error_data($error_code));
                }
            }
            $message = $errors[0]['message'];
            if (empty($args['code'])) {
                $args['code'] = $errors[0]['code'];
            }
            if (empty($args['response']) && is_array($errors[0]['data']) && !empty($errors[0]['data']['status'])) {
                $args['response'] = $errors[0]['data']['status'];
            }
            if (empty($title) && is_array($errors[0]['data']) && !empty($errors[0]['data']['title'])) {
                $title = $errors[0]['data']['title'];
            }
            unset($errors[0]);
            $args['additional_errors'] = array_values($errors);
        } else {
            $message = '';
        }
    }
    $have_gettext = function_exists('__');
    // The $title and these specific $args must always have a non-empty value.
    if (empty($args['code'])) {
        $args['code'] = 'wp_die';
    }
    if (empty($args['response'])) {
        $args['response'] = 500;
    }
    if (empty($title)) {
        $title = $have_gettext ? __('WordPress › Error') : 'WordPress › Error';
    }
    if (empty($args['text_direction']) || !in_array($args['text_direction'], array('ltr', 'rtl'), true)) {
        $args['text_direction'] = 'ltr';
        if (function_exists('is_rtl') && is_rtl()) {
            $args['text_direction'] = 'rtl';
        }
    }
    if (!empty($args['charset'])) {
        $args['charset'] = _canonical_charset($args['charset']);
    }
    return array($message, $title, $args);
}

WordPress Version: 5.2

/**
 * Processes arguments passed to wp_die() consistently for its handlers.
 *
 * @since 5.1.0
 * @access private
 *
 * @param string       $message Error message.
 * @param string       $title   Optional. Error title. Default empty.
 * @param string|array $args    Optional. Arguments to control behavior. Default empty array.
 * @return array List of processed $message string, $title string, and $args array.
 */
function _wp_die_process_input($message, $title = '', $args = array())
{
    $defaults = array('response' => 0, 'code' => '', 'exit' => true, 'back_link' => false, 'link_url' => '', 'link_text' => '', 'text_direction' => '', 'additional_errors' => array());
    $args = wp_parse_args($args, $defaults);
    if (function_exists('is_wp_error') && is_wp_error($message)) {
        if (!empty($message->errors)) {
            $errors = array();
            foreach ((array) $message->errors as $error_code => $error_messages) {
                foreach ((array) $error_messages as $error_message) {
                    $errors[] = array('code' => $error_code, 'message' => $error_message, 'data' => $message->get_error_data($error_code));
                }
            }
            $message = $errors[0]['message'];
            if (empty($args['code'])) {
                $args['code'] = $errors[0]['code'];
            }
            if (empty($args['response']) && is_array($errors[0]['data']) && !empty($errors[0]['data']['status'])) {
                $args['response'] = $errors[0]['data']['status'];
            }
            if (empty($title) && is_array($errors[0]['data']) && !empty($errors[0]['data']['title'])) {
                $title = $errors[0]['data']['title'];
            }
            unset($errors[0]);
            $args['additional_errors'] = array_values($errors);
        } else {
            $message = '';
        }
    }
    $have_gettext = function_exists('__');
    // The $title and these specific $args must always have a non-empty value.
    if (empty($args['code'])) {
        $args['code'] = 'wp_die';
    }
    if (empty($args['response'])) {
        $args['response'] = 500;
    }
    if (empty($title)) {
        $title = $have_gettext ? __('WordPress › Error') : 'WordPress › Error';
    }
    if (empty($args['text_direction']) || !in_array($args['text_direction'], array('ltr', 'rtl'), true)) {
        $args['text_direction'] = 'ltr';
        if (function_exists('is_rtl') && is_rtl()) {
            $args['text_direction'] = 'rtl';
        }
    }
    return array($message, $title, $args);
}

WordPress Version: 5.1

/**
 * Processes arguments passed to {@see wp_die()} consistently for its handlers.
 *
 * @since 5.1.0
 * @access private
 *
 * @param string       $message Error message.
 * @param string       $title   Optional. Error title. Default empty.
 * @param string|array $args    Optional. Arguments to control behavior. Default empty array.
 * @return array List of processed $message string, $title string, and $args array.
 */
function _wp_die_process_input($message, $title = '', $args = array())
{
    $defaults = array('response' => 0, 'code' => '', 'exit' => true, 'back_link' => false, 'link_url' => '', 'link_text' => '', 'text_direction' => '', 'additional_errors' => array());
    $args = wp_parse_args($args, $defaults);
    if (function_exists('is_wp_error') && is_wp_error($message)) {
        if (!empty($message->errors)) {
            $errors = array();
            foreach ((array) $message->errors as $error_code => $error_messages) {
                foreach ((array) $error_messages as $error_message) {
                    $errors[] = array('code' => $error_code, 'message' => $error_message, 'data' => $message->get_error_data($error_code));
                }
            }
            $message = $errors[0]['message'];
            if (empty($args['code'])) {
                $args['code'] = $errors[0]['code'];
            }
            if (empty($args['response']) && is_array($errors[0]['data']) && !empty($errors[0]['data']['status'])) {
                $args['response'] = $errors[0]['data']['status'];
            }
            if (empty($title) && is_array($errors[0]['data']) && !empty($errors[0]['data']['title'])) {
                $title = $errors[0]['data']['title'];
            }
            unset($errors[0]);
            $args['additional_errors'] = array_values($errors);
        } else {
            $message = '';
        }
    }
    $have_gettext = function_exists('__');
    // The $title and these specific $args must always have a non-empty value.
    if (empty($args['code'])) {
        $args['code'] = 'wp_die';
    }
    if (empty($args['response'])) {
        $args['response'] = 500;
    }
    if (empty($title)) {
        $title = $have_gettext ? __('WordPress › Error') : 'WordPress › Error';
    }
    if (empty($args['text_direction']) || !in_array($args['text_direction'], array('ltr', 'rtl'), true)) {
        $args['text_direction'] = 'ltr';
        if (function_exists('is_rtl') && is_rtl()) {
            $args['text_direction'] = 'rtl';
        }
    }
    return array($message, $title, $args);
}