钩子文档

graceful_fail_template

💡 云策文档标注

概述

本文档介绍了 WordPress 中已弃用的 graceful_fail 函数,用于处理错误消息并输出模板化错误页面。该函数已被 wp_die() 替代,并提供了相关过滤钩子。

关键要点

  • graceful_fail 函数已弃用,自版本 3.0.0 起建议使用 wp_die() 替代。
  • 函数接受一个消息参数,可通过 graceful_fail 过滤钩子进行修改。
  • 错误页面模板可通过 graceful_fail_template 过滤钩子自定义,默认包含错误标题和消息。
  • 函数内部调用 wp_die() 来输出错误页面,并设置响应状态码为 200。

代码示例

function graceful_fail( $message ) {
    _deprecated_function( __FUNCTION__, '3.0.0', 'wp_die()' );
    $message = apply_filters( 'graceful_fail', $message );
    $message_template = apply_filters( 'graceful_fail_template',
        '<h1>Error!</h1>
        <p>%s</p>
        <p><a href="https://developer.wordpress.org/reference/">View all references</a> | <a href="https://core.trac.wordpress.org/">View on Trac</a> | <a href="https://github.com/WordPress/WordPress">View on GitHub</a></p>',
        $message
    );
    wp_die( sprintf( $message_template, $message ), '', array( 'response' => 200 ) );
}

注意事项

  • 由于函数已弃用,新代码应直接使用 wp_die() 来处理错误。
  • 自定义错误模板时,需确保模板字符串包含占位符 %s 以插入消息。
  • 响应状态码固定为 200,可能不适用于所有错误场景,需根据实际需求调整。

📄 原文内容

Source

 * @see wp_die()
 */
function graceful_fail( $message ) {
	_deprecated_function( __FUNCTION__, '3.0.0', 'wp_die()' );
	$message = apply_filters( 'graceful_fail', $message );
	$message_template = apply_filters( 'graceful_fail_template',
'
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Error!</title>
<style type="text/css">
img {
	border: 0;
}
body {
line-height: 1.6em; font-family: Georgia, serif; width: 390px; margin: auto;
text-align: center;
}
.message {
	font-size: 22px;
	width: 350px;
	margin: auto;
}
</style>