wordpress 发送电子邮件并下载PDF点击联系表格7提交按钮

0ejtzxu1  于 2023-04-20  发布在  WordPress
关注(0)|答案(3)|浏览(175)

我有一个联系表格在我的WordPress网站.在我有三个字段名称,电子邮件和移动的,和一个按钮称为提交.当用户填写所有字段,并点击提交按钮的电子邮件应该发送,可以与联系从7插件可能.
但这里的挑战是,我需要让用户下载PDF也,当他点击提交按钮后,填写所有字段。
如何在WordPress中实现这一点?

j9per5c4

j9per5c41#

您可以像这样使用Contact form 7提供的wpcf7_mail_sent钩子:

add_action('wpcf7_mail_sent', function ($cf) {
  // Run code after the email has been sent
});

这个链接:https://contactform7.com/2017/06/07/on-sent-ok-is-deprecated/也描述了另一种方式:

add_action( 'wp_footer', 'mycustom_wp_footer' );

function mycustom_wp_footer() 
{ ?>
    <script type="text/javascript">
    document.addEventListener( 'wpcf7mailsent', function( event ) 
    {
      //Write a javascript code to download the file. 
    }  , false );
    </script>
<?php
}
6rqinv9w

6rqinv9w2#

你不需要太多的代码,只需后藤联系表格〉选择联系表格〉附加设置,粘贴下面的代码。

document.addEventListener( 'wpcf7mailsent', function( event ) {
location = 'YOUR_PDF_URL';}, false );
nx7onnlm

nx7onnlm3#

由于on_sent_ok已被弃用,这里有一个例子可以作为灵感。
我有类似的需要添加一个下载CTA后的内容的所有案例研究的网站,但“在交换”用户的数据:

  • 在你的页面上显示一个CF7表单,我在所有案例研究中都有相同的帖子类型,我在内容后勾住了
  • 找到一种方法来获得想要的PDF URL供人们下载,因为对我来说,所有的案例研究都有不同的PDF,我只是添加了一个ACF字段,仅在PDF上过滤,它返回文件URL
  • 基于CF7 Dom events,选择您喜欢的操作来使下载发生,因为我不发送任何确认电子邮件,我喜欢处理wpcf7submit事件。请注意,wpcf7submit事件仅在表单已验证时触发

代码看起来像这样:

<?php 
// For simplicity, using an anonymous functions
add_action( 'wp_print_footer_scripts', function () {
    // Check the wanted singular post type loading
    if ( is_admin() || ! is_singular( 'case-study' ) ) {
        return;
    }

    // Check if the ACF PDF field is not empty for use
    $pdf_link = get_field( 'pdf' );
    if ( empty( $pdf_link ) ) {
        return;
    }

    // Hook on the "wpcf7submit" CF7 Dom event to force the download
    printf( "<script>document.addEventListener( 'wpcf7submit', function( event ) { window.open('%s'); }, false );</script>", $pdf_link );
} );

相关问题