在Contact Form 7 Wordpress中提交后下载文件

时间:2017-08-01 06:49:10

标签: php wordpress contact-form-7

我正在尝试创建一个表单,其中包含用户输入名称和电子邮件等功能,然后PDF文件会自动开始下载。

当我在提交按钮的其他设置选项卡中应用此代码时,它会重播这样的错误消息。

我目前在本地机器上工作,我知道错误是联系表格7邮件标签,但不知道如何修复它?

“尝试发送邮件时出错。请稍后再试。”

这是我的联系表格7代码:

<label> Name
    [text* your-name] </label>

<label> Email 
    [email* your-email] </label>

[submit "Download Now"]

这是我在提交表单时直接在下载PDF文件的附加设置中编写的代码

on_sent_ok: "location = 'http://localhost/wordpress/wp-content/uploads/2017/08/pdf-sample.pdf';"

3 个答案:

答案 0 :(得分:4)

我找到了满足您需求的解决方案,只需遵循以下停靠点,它就无法发送邮件,但可以根据您的要求在本地计算机上正常运行。

1)只需将下面的代码粘贴到联系表格7的附加设置标签中

即可
demo_mode : on

on_sent_ok: "location = 'http://localhost/wordpress/wp-content/uploads/2017/08/pdf-sample.pdf';"

2)将以下代码放在你的.htacess文件中,在[/ IfModule]后面和#END WordPress下面

<FilesMatch "\.(?i:pdf)$">
   ForceType application/octet-stream
   Header set Content-Disposition attachment
</FilesMatch>

答案 1 :(得分:1)

以下代码对我有用:我用javascript

创建了它
function force_download( file ) {
    pdf = window.open(file, '', 'left=100,screenX=100');
    pdf.document.execCommand('SaveAs', 'null', 'myfile.pdf');
    pdf.close();
 }
 on_sent_ok: "force_download('pdf_url_here');"

答案 2 :(得分:0)

如果由于弃用in_sent_ok而正在寻找最新的答案,我们可以使用:

   <script>
    document.addEventListener( 'wpcf7mailsent', function( event ) {
    location = 'http://example.com/';
    }, false );
    </script>