wordpress wp_die()函数介绍以及HTML输出

2022年7月30日09:59:20 发表评论
广告也精彩

小陈

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)完成后是否退出进程。默认为真。

默认值:数组()

WordPress 5.3 修改了wp_die()的HTML输出

默认情况下,在WordPress 5.3以前的版本中,使用 wp_die() 错误处理函数输出的内容都是被段落标签 <p>包裹的。比如你要使用 wp_die() 输出错误信息,一般都需要传递纯文本字符串:

  1. wp_die( '这是一个错误信息。' );

输出的结果为:

  1. <p>这是一个错误信息。</p>

但是很多情况下,我们可能需要添加一些额外的html内容,但是段落内是不允许添加所有嵌套元素,比如你使用:

  1. wp_die( '<h1>您需要拥有更高的权限。</h1><p>很抱歉,您没有权限管理这个分类。</p>' );

输出的结果为:

  1. <p><h1>您需要拥有更高的权限。</h1><p>很抱歉,您没有权限管理这个分类。</p></p>

很明显,以上的输出是有问题的。所以从 WordPress 5.3 开始,将采用 <div> 替换 <p> 标签,并且添加了一个类名  .wp-die-message ,这样以来,就可以很方便地输出更好的html结构内容,例如:

  1. wp_die( '<h1>您需要拥有更高的权限。</h1><p>很抱歉,您没有权限管理这个分类。</p>' );

输出的结果为:

  1. <div class="wp-die-message">
  2.     <h1>您需要拥有更高的权限。</h1>
  3.     <p>很抱歉,您没有权限管理这个分类。</p>
  4. </div>

鼓励插件作者检查对wp_die()的使用,并在需要时更新PHP调用函数来适应新的用法和添加CSS样式。

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
ts小陈

发表评论(请规范评论)--评论需审核

:?: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :cry: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :neutral: :razz:

已登录用户不需要填写以下内容