A WordPress-centric search engine for devs and theme authors



wp_die ›

Since2.0.4
Deprecatedn/a
wp_die ( $message = '', $title = '', $args = array() )
Parameters: (3)
  • (string|WP_Error) $message Optional. Error message. If this is a WP_Error object, and not an Ajax or XML-RPC request, the error's messages are used. Default empty.
    Required: No
    Default: (empty)
  • (string|int) $title Optional. Error title. If `$message` is a `WP_Error` object, error data with the key 'title' may be used to specify the title. If `$title` is an integer, then it is treated as the response code. Default empty.
    Required: No
    Default: (empty)
  • (string|array|int) $args { Optional. Arguments to control behavior. If `$args` is an integer, then it is treated as the response code. Default empty array.
    Required: No
    Default: array()
Defined at:
Codex:
Change Log:
  • 4.1.0 The ` $title` and ` $args` parameters were changed to optionally accept an integer to be used as the response code.

Kill WordPress execution and display HTML message with error message.

This function complements the die() PHP function. The difference is that HTML will be displayed to the user. It is recommended to use this function only when the execution should not continue any further. It is not recommended to call this function very often, and try to handle as many errors as possible silently or more gracefully.

As a shorthand, the desired HTTP response code may be passed as an integer to the $title parameter (the default title would apply) or the $args parameter.



Source

function wp_die( $message = '', $title = '', $args = array() ) {

	if ( is_int( $args ) ) {
		$args = array( 'response' => $args );
	} elseif ( is_int( $title ) ) {
		$args  = array( 'response' => $title );
		$title = '';
	}

	if ( wp_doing_ajax() ) {
		/**
		 * Filters the callback for killing WordPress execution for Ajax requests.
		 *
		 * @since 3.4.0
		 *
		 * @param callable $function Callback function name.
		 */
		$function = apply_filters( 'wp_die_ajax_handler', '_ajax_wp_die_handler' );
	} elseif ( defined( 'XMLRPC_REQUEST' ) && XMLRPC_REQUEST ) {
		/**
		 * Filters the callback for killing WordPress execution for XML-RPC requests.
		 *
		 * @since 3.4.0
		 *
		 * @param callable $function Callback function name.
		 */
		$function = apply_filters( 'wp_die_xmlrpc_handler', '_xmlrpc_wp_die_handler' );
	} else {
		/**
		 * Filters the callback for killing WordPress execution for all non-Ajax, non-XML-RPC requests.
		 *
		 * @since 3.0.0
		 *
		 * @param callable $function Callback function name.
		 */
		$function = apply_filters( 'wp_die_handler', '_default_wp_die_handler' );
	}

	call_user_func( $function, $message, $title, $args );
}