rest_handle_deprecated_function()
云策文档标注
概述
rest_handle_deprecated_function() 是 WordPress REST API 中用于处理已弃用函数错误的函数。它根据条件输出包含弃用信息的 HTTP 头部,帮助开发者调试和迁移代码。
关键要点
- 函数接受三个必需参数:$function_name(被调用的函数名)、$replacement(应使用的替代函数名)和 $version(弃用版本号)。
- 仅在 WP_DEBUG 启用且 HTTP 头部未发送时执行,否则直接返回。
- 根据 $replacement 是否为空,生成不同的翻译字符串,并通过 header() 函数设置 X-WP-DeprecatedFunction 头部。
- 该函数自 WordPress 4.4.0 版本引入,与 __() 函数相关用于本地化。
代码示例
function rest_handle_deprecated_function( $function_name, $replacement, $version ) {
if ( ! WP_DEBUG || headers_sent() ) {
return;
}
if ( ! empty( $replacement ) ) {
/* translators: 1: Function name, 2: WordPress version number, 3: New function name. */
$string = sprintf( __( '%1$s (since %2$s; use %3$s instead)' ), $function_name, $version, $replacement );
} else {
/* translators: 1: Function name, 2: WordPress version number. */
$string = sprintf( __( '%1$s (since %2$s; no alternative available)' ), $function_name, $version );
}
header( sprintf( 'X-WP-DeprecatedFunction: %s', $string ) );
}
原文内容
Handles _deprecated_function() errors.
Parameters
$function_namestringrequired-
The function that was called.
$replacementstringrequired-
The function that should have been called.
$versionstringrequired-
Version.
Source
function rest_handle_deprecated_function( $function_name, $replacement, $version ) {
if ( ! WP_DEBUG || headers_sent() ) {
return;
}
if ( ! empty( $replacement ) ) {
/* translators: 1: Function name, 2: WordPress version number, 3: New function name. */
$string = sprintf( __( '%1$s (since %2$s; use %3$s instead)' ), $function_name, $version, $replacement );
} else {
/* translators: 1: Function name, 2: WordPress version number. */
$string = sprintf( __( '%1$s (since %2$s; no alternative available)' ), $function_name, $version );
}
header( sprintf( 'X-WP-DeprecatedFunction: %s', $string ) );
}
Changelog
| Version | Description |
|---|---|
| 4.4.0 | Introduced. |