wp_die()函数
wp_die($message = '', $title = '', $args = array() )
该函数是对die()
PHP 函数的补充。不同之处在于 HTML 将显示给用户。建议仅在不应继续执行时使用此功能。不建议经常调用此函数,并尝试以静默或更优雅的方式处理尽可能多的错误。
简而言之,可以将所需的 HTTP 响应代码作为整数传递给$title
参数(将应用默认标题)或$args
参数。
参数
$消息
-
( string | WP_Error ) (可选) 错误信息。如果这是一个WP_Error对象,而不是 Ajax 或 XML-RPC 请求,则使用错误消息。
默认值: ''
$标题
-
( string | int ) (可选) 错误标题。如果
$message
是一个WP_Error
对象,则可以使用带有键 'title' 的错误数据来指定标题。如果$title
是整数,则将其视为响应代码。默认值: ''
$args
-
( string | array | int ) (可选) 控制行为的参数。如果
$args
是整数,则将其视为响应代码。- 'response'
(int) HTTP 响应代码。Ajax 请求的默认值为 200,否则为 500。 - 'link_url'
(string)包含链接的 URL。只能与 $link_text 结合使用。默认空字符串。 - 'link_text'
(string)要包含的链接的标签。只能与 $link_url 结合使用。默认空字符串。 - 'back_link'
(bool)是否包含返回链接。默认假。 - 'text_direction'
(string)文本方向。这仅在内部有用,当 WordPress 仍在加载且站点的区域设置尚未设置时。接受“rtl”和“ltr”。默认值为is_rtl()。 - 'charset'
(string) HTML 输出的字符集。默认“utf-8”。 - 'code'
(string)要使用的错误代码。默认为 'wp_die',或者如果 $message 是WP_Error 则为主要错误代码。 - 'exit'
(bool)完成后是否退出进程。默认为真。
默认值:数组()
- 'response'
WordPress 5.3 修改了wp_die()的HTML输出
默认情况下,在WordPress 5.3以前的版本中,使用 wp_die() 错误处理函数输出的内容都是被段落标签 <p>包裹的。比如你要使用 wp_die() 输出错误信息,一般都需要传递纯文本字符串:
- wp_die( '这是一个错误信息。' );
输出的结果为:
- <p>这是一个错误信息。</p>
但是很多情况下,我们可能需要添加一些额外的html内容,但是段落内是不允许添加所有嵌套元素,比如你使用:
- wp_die( '<h1>您需要拥有更高的权限。</h1><p>很抱歉,您没有权限管理这个分类。</p>' );
输出的结果为:
- <p><h1>您需要拥有更高的权限。</h1><p>很抱歉,您没有权限管理这个分类。</p></p>
很明显,以上的输出是有问题的。所以从 WordPress 5.3 开始,将采用 <div>
替换 <p>
标签,并且添加了一个类名 .wp-die-message
,这样以来,就可以很方便地输出更好的html结构内容,例如:
- wp_die( '<h1>您需要拥有更高的权限。</h1><p>很抱歉,您没有权限管理这个分类。</p>' );
输出的结果为:
- <div class="wp-die-message">
- <h1>您需要拥有更高的权限。</h1>
- <p>很抱歉,您没有权限管理这个分类。</p>
- </div>
鼓励插件作者检查对wp_die()
的使用,并在需要时更新PHP调用函数来适应新的用法和添加CSS样式。