使用'发送确定'两个动作的动作钩子 - 联系表格7 / WordPress

时间:2014-01-28 10:11:47

标签: javascript wordpress contact-form-7

我需要使用on sent ok操作挂钩进行两项操作1)跟踪电子邮件地址,2)将用户发送到感谢页面。我尝试将其添加到“其他设置”中。联系表格7面板上的部分,但我不确定它是否正常工作。当使用两种不同的形式时,至少我得到了不同的结果。

on_sent_ok: "fnTransaction('Contacted', 'userid=' + [your-email]);"

on_sent_ok: "location.replace('http://xxxxx.com/thank-you');"

可以使用动作挂钩两次还是可以以某种方式组合它?我很感激你的帮助!

4 个答案:

答案 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