我需要使用on sent ok
操作挂钩进行两项操作1)跟踪电子邮件地址,2)将用户发送到感谢页面。我尝试将其添加到“其他设置”中。联系表格7面板上的部分,但我不确定它是否正常工作。当使用两种不同的形式时,至少我得到了不同的结果。
on_sent_ok: "fnTransaction('Contacted', 'userid=' + [your-email]);"
on_sent_ok: "location.replace('http://xxxxx.com/thank-you');"
可以使用动作挂钩两次还是可以以某种方式组合它?我很感激你的帮助!
答案 0 :(得分:4)
你不能只在location.replace('http://xxxxx.com/thank-you');
- 函数中调用fnTransaction()
吗?
修改强>
编写一个结合了两者的新功能:
on_sent_ok: "mySentOkFunction('Contacted', 'userid=' + [your-email]);"
function mySentOkFunction(param1, param2){
fnTransaction(param1, param2);
location.replace('http://xxxxx.com/thank-you');
}
答案 1 :(得分:0)
我不知道联系表格7,但你试过这个:
on_sent_ok: "function(){ fnTransaction('Contacted', 'userid=' + [your-email]);location.replace('http://xxxxx.com/thank-you');}"
答案 2 :(得分:0)
您可以使用:
on_sent_ok: "fnTransaction('Contacted', 'userid=' + [your-email]); location.replace('http://xxxxx.com/thank-you');"
这里location.replace没有用,所以我使用:
location = 'http://xxxxx.com/thank-you';
这将是最终的代码:
on_sent_ok: "fnTransaction('Contacted', 'userid=' + [your-email]); location = 'http://xxxxx.com/thank-you';"
答案 3 :(得分:0)
一个干净的方法是在自定义插件中使用钩子wpcf7_contact_form_properties
,这是插件:
/*
Plugin Name: Multiple WPCF7's on_sent_ok
Plugin URI: http://kadimi.com/wpcf7-javascript-programmatically
Description: Use WPCF7's on_sent_ok many times.
Author: Nabil Kadimi
Version: 1.0
Author URI: http://kadimi.com/
*/
function se_21402617_wpcf7_properties( $properties, $contact_form_obj, $unused ){
$properties[ 'additional_settings' ] .=
"\n"
. 'on_sent_ok: "console.log(1);"' . "\n"
. 'on_sent_ok: "console.log(2);"' . "\n"
. 'on_sent_ok: "console.log(3);"' . "\n"
;
return $properties;
}
add_filter( 'wpcf7_contact_form_properties', 'se_21402617_wpcf7_properties' , 10, 2 );
正如您在插件代码中看到的,我使用了on_sent_ok
3次。
您可以通过检查$contact_form_object
来过滤受影响的表单。
代码源自my blog post here。