函数文档

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.