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
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. |