【问题标题】:How to retrieve the remote Ip address for a Contact Form 7 submission?如何检索联系表格 7 提交的远程 IP 地址?
【发布时间】:2021-11-22 03:26:02
【问题描述】:

我正在使用 Contact Form 7 收集数据并通过 CF7 将其发送到 API 插件。

出于安全原因,我通过 [wpcf7.remote_ip] 标签通过电子邮件接收数据,我按照指南将其插入到电子邮件字段中。

电子邮件正文的屏幕:

但是当我尝试通过 API 通过“CF7 to API”发送相同的数据时,该值为空。

CF7 到 API 设置的屏幕:

我哪里错了?

CF7 到 API 日志的屏幕:

【问题讨论】:

  • 到目前为止你尝试过什么?你被困在哪里了?你能分享你正在使用的代码吗?
  • 我想要,但确实没有代码。我所做的是 1. 将标签 [wpcf7.remote_ip] 粘贴到电子邮件正文中 2. 在表单正文中添加一个名为“aff_subid1”的隐藏字段 3. API 的 CF7 识别该字段并将其作为空字段提供给我插件 GUI(我猜它代表数组) 4. 我给那个字段 wpcf7.remote_ip 作为值

标签: contact-form-7


【解决方案1】:

wpcf7.remote_ip 仅在电子邮件模板中有效,因为它是在处理通知邮件时由 CF7 插件创建/填充的。加载页面后,您需要在表单上创建自己的隐藏字段,然后您可以在 API 列表中使用,

add_filter('wpcf7_form_hidden_fields','add_hidden_ip_field');
function add_hidden_ip_field($fields){
  $fields['remote_ip'] = ... //get the remote IP
  return $fields;
}

注意:要获取请求远程 IP,请参阅answer

然后您可以在 API 中使用字段 remote_ip

【讨论】:

  • 非常感谢。 $fields 之后的那三个点是正确的吗?还是只是一个例子?如果是这样...我应该改用什么值?也许你能告诉我我应该把这段代码粘贴到哪个 CF7 文件中吗?再次感谢,太棒了。
  • 这 3 个点将被替换为检索 IP 的功能......请参阅下面的注释
猜你喜欢
  • 2013-01-06
  • 2020-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-14
  • 1970-01-01
  • 2020-09-28
相关资源
最近更新 更多