Elementor Pro 表单如何将字段值动态传入Webhook URL参数
Elementor Pro Form 自定义字段拼接Webhook URL解决方案
你之前尝试的[field id="contact_phone"]是Elementor表单邮件通知专属的短代码,仅在邮件模板渲染环境下生效,Webhook配置的URL输入框不属于这个渲染环境,所以不会被解析为字段值。可通过以下两种方案实现需求:
方案1:代码动态修改Webhook URL(无配置兼容,推荐)
- 先将你现有Webhook URL中的手机号参数值替换为自定义占位符,修改后的URL如下:
https://***.intrumnet.com/onlineforms?action=fillform&formtype=9&data[def_customer][phone]=REPLACE_CONTACT_PHONE
- 将以下代码添加到WordPress主题的
functions.php文件,或通过Code Snippets插件添加自定义代码片段:
add_filter( 'elementor_pro/forms/webhook/request_args', function( $request_args, $form, $record ) { // 仅匹配你指定的contact_form表单,避免影响其他表单 if ( 'contact_form' !== $form->get_name() ) { return $request_args; } // 获取contact_phone字段提交值 $contact_phone = $record->get_field( 'contact_phone' )['value'] ?? ''; // 替换URL占位符为真实手机号,自动做URL编码避免特殊字符异常 $request_args['url'] = str_replace( 'REPLACE_CONTACT_PHONE', urlencode( $contact_phone ), $request_args['url'] ); return $request_args; }, 10, 3 );
- 保存代码后提交表单测试即可。
方案2:无代码自定义字段配置
如果不想写代码,可将参数从URL中拆分到Webhook自定义字段配置区:
- Webhook URL保留基础部分:
https://***.intrumnet.com/onlineforms - 在Webhook配置的「自定义字段」区域新增三条键值对:
- 键:
action,值:fillform - 键:
formtype,值:9 - 键:
data[def_customer][phone],值直接选择表单的contact_phone字段
- 键:
- 请求方式选择GET,提交时所有自定义字段会自动拼接到URL的查询参数中,效果和直接写URL一致。
注意:该方案需要你的接收接口支持GET请求传递参数。
内容的提问来源于stack exchange,提问作者Dark Wizard
相关产品推荐
相关产品推荐

