函数文档

wp_referer_field()

💡 云策文档标注

概述

wp_referer_field() 函数用于检索或显示表单中的 referer 隐藏字段,基于服务器超级全局变量中的当前请求 URI 生成 HTML 标记。

关键要点

  • 函数返回或输出一个隐藏的 input 字段,其 name 属性为 '_wp_http_referer',值来自当前请求 URI。
  • 参数 $display 控制是否直接输出(echo)或返回 HTML 字符串,默认值为 true(输出)。
  • 函数内部使用 remove_query_arg() 处理 URL,确保 referer 字段不包含自身参数。

代码示例

function wp_referer_field( $display = true ) {
    $request_url   = remove_query_arg( '_wp_http_referer' );
    $referer_field = '';

    if ( $display ) {
        echo $referer_field;
    }

    return $referer_field;
}

注意事项

  • 此函数常用于表单中,以跟踪请求来源,便于后续处理或验证。
  • 开发者可以手动检查 $_POST['_wp_http_referer'] 来获取 referer 值。
  • 相关函数包括 wp_nonce_field() 用于 nonce 字段,remove_query_arg() 和 esc_url() 用于 URL 处理。

📄 原文内容

Retrieves or displays referer hidden field for forms.

Description

The referer link is the current Request URI from the server super global. The input name is ‘_wp_http_referer’, in case you wanted to check manually.

Parameters

$displaybooloptional
Whether to echo or return the referer field.

Default:true

Return

string Referer field HTML markup.

Source

function wp_referer_field( $display = true ) {
	$request_url   = remove_query_arg( '_wp_http_referer' );
	$referer_field = '<input type="hidden" name="_wp_http_referer" value="' . esc_url( $request_url ) . '" />';

	if ( $display ) {
		echo $referer_field;
	}

	return $referer_field;
}

Changelog

Version Description
2.0.4 Introduced.