我在 Wordpress 的 Contact Form 7 插件中实现一些自定义功能时遇到了一些麻烦。
我想做的很简单。有问题的联系表格是一个普通的联系查询表格,所以我需要保留通常的功能(邮寄数据)。但是,我在表单上还有一个复选框,允许发件人选择是否订阅客户的邮件列表以及邮寄联系查询。
客户使用 Bronto 进行群发邮件(类似于 CC 或 Mailchimp)。Bronto 有一个“直接添加”功能(更多信息在这里),它允许您通过嵌入一个包含必要参数(电子邮件地址、要订阅的列表等)的图像来发送参数以将联系人添加到 Bronto 帐户。
我可以用联系表单参数构造图像 url 没有问题,但实际上发送图像请求是另一回事。我在这里对 PHP 和 JS 都束手无策,不知道该选什么课。
目前我正在使用wpcf7_before_send_mail
CF7 中内置的 php 挂钩,这似乎允许我收集表单数据并构建 URL。但是,由于该插件使用 AJAX 并且实际上并没有在表单提交时重定向到另一个页面,因此我似乎无法成功使用任何类型的 php 输出(回声、警报甚至 error_log),大概是因为服务器不知道什么它应该写到。
在functions.php中:
add_action( 'wpcf7_before_send_mail', 'bronto_contact_add' );
function bronto_contact_add( $cf7 ) {
$emailcf = $cf7->posted_data['email'];
echo $emailcf;
}
这只是一个测试,看看 echo 是否有效 - 它没有。相反,表单只是在提交时挂起,我永远看到旋转加载 gif。
我需要做的是使用来自 cf7 对象的参数构建图像 url(我可以做没有问题),然后以某种方式将该图像请求发送到 Bronto 服务器(这是我感到困惑的部分)。如果这是一个在提交时重定向到另一个 php 页面的普通表单,我这样做完全没有问题,但它使用我不太了解的 AJAX,所以我现在很迷茫。
任何人都可以帮助阐明实现这一目标的最佳方法可能是什么?