wp_die
Kill WordPress execution and display HTML message with error message.
Description
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.
Parameters (3)
- 0. $message — Optional. (string) =>
''
-
Error
message. If this is a WP_Error
object, and not an Ajax or XML-RPC request, theerror
's messages are used. Default empty. - 1. $title — Optional. (string) =>
''
-
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. - 2. $args — Optional. (array) =>
array()
- Arguments to control behavior. If
$args
is an integer, then it is treated as the response code. Default empty array.Options
- response (int) =>
200 for Ajax requests, 500 otherwise
The HTTP response code.
- back_link (bool) =>
false
Whether to include a link to go back.
array( /** * The HTTP response code. * * @type int * @default 200 for Ajax requests, 500 otherwise */ 'response' => 200 for Ajax requests, 500 otherwise, /** * Whether to include a link to go back. * * @type bool * @default false */ 'back_link' => false );
…
- response (int) =>
Usage
if ( !function_exists( 'wp_die' ) ) { require_once ABSPATH . WPINC . '/functions.php'; } $message = ''; $title = ''; // Optional. Arguments to control behavior. If `$args` is an integer, then it is treated as the response code. Default empty array. $args = array( 'response' => 200 for Ajax requests, 500 otherwise, 'back_link' => false ); // NOTICE! Understand what this does before running. $result = wp_die($message, $title, $args);
Defined (1)
The function is defined in the following location(s).
- /wp-includes/functions.php
- 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.
- */
- } 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.
- */
- } 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.
- */
- }
- call_user_func( $function, $message, $title, $args );
- }