contact form 7增加用户ip获取地址

contact form 7增加用户ip获取地址
SmallJiaContact Form 7 获取提交IP 和国家地
在Contact Form 7完全教程里介绍了从安装到使用,自定义监听表单状态到配合验证码防止垃圾邮件等功能的使用过程,配合邮件插件可以很方便的提醒。之前自定义的邮件格式,使用 [_url] 可以获取提交的表单地址,[_remote_ip] 可以获取提交的IP。如果需要直接显示提交的地区或者国家呢?这个是开发过程中,由业务提出的需求,有了国家可以方便分辨是否是真的客户还是故意垃圾的邮件。
Contact Form 7并没有自带获取国家的字段,需要进行自定义处理,国家地区就是根据IP去获取的,所以只要有那么一个IP库,在自定义一个国家的字段,使其可以在邮件格式那里可以使用就行。自定义功能自然需要在functions.php里,下面是自定义了[_remote_ip_area],这个名称,当然可以是其他的名称,保存前后一致就行,使用的是IP国家查询api也可以自由选择,这里用的是:
完整代码实现:
1 | // 自定义增加邮件标签 增加IP所在地 标签 |
这样就可以像使用[_remote_ip]一样使用[_remote_ip_area]
在设置好的邮件里,正确的就可以收到邮件类似:
本文作为Contact Form 7完整使用教程补充功能说明,如果后期发现还需要增加功能的也会分享出来,在一开始使用邮件表单的时候,体验过其他各种插件,只有Contact Form 7很干净,没有那么多设置页面和广告页面,然后就深入研究,自定义表单样式也来的容易,还有事件监听,到本文的获取国家功能,可以说这个插件满足了大部分功能的同时又很简洁,不会有过多用不着的代码被加载,减少前端页面的体量,深得我心。