Wordpress contact-form-7插件在邮件之前做一些事情


Wordpress contact-form-7 plugin do something before mail

我有一个wordpress实例,带有contact-form-7插件。在一些教程中,我看到我可以在发送带有以下代码的邮件之前做一些事情:

add_action("wpcf7_before_send_mail", "wpcf7_do_something_else");
function wpcf7_do_something_else(&$wpcf7_data) {
    // Here is the variable where the data are stored!
    var_dump($wpcf7_data);
    // If you want to skip mailing the data, you can do it...
    $wpcf7_data->skip_mail = true;
}

我从这里得到代码http://code.tutsplus.com/tutorials/mini-guide-to-contact-form-7--wp-25086

但不知怎么的,它不起作用。我没有收到任何错误——即使没有$wpcf7_data->skip_mail = true,联系表格也不再发送邮件,也不会打印任何内容。

我的问题:

我必须在哪里写这个代码?直接进入插件?(目前,我把这段代码写进了一个自定义插件中,可能错了?)是否可以打印表单中的任何数据?(教程不好吗?)

谢谢!

好吧,联系人表单不再发送电子邮件是正常的,因为它在$wpcf7_data->skip_mail = true;行中定义。

如果您想要除默认发布(通过电子邮件发送)之外的其他内容,请使用此代码,如教程中所述。

但是,这段代码应该放在主题的functions.php文件中(如果存在文件,请创建它)。但是,电子邮件将不会发送

如果你想跳过电子邮件并执行其他操作,那么留下这段代码

$wpcf7_data->skip_mail = true;

在这行后面加上你的逻辑。

更准确地描述问题中您想做什么(而不是发送电子邮件)。