基于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 );
} );
3条答案
按热度按时间j9per5c41#
您可以像这样使用Contact form 7提供的
wpcf7_mail_sent
钩子:这个链接:https://contactform7.com/2017/06/07/on-sent-ok-is-deprecated/也描述了另一种方式:
6rqinv9w2#
你不需要太多的代码,只需后藤联系表格〉选择联系表格〉附加设置,粘贴下面的代码。
nx7onnlm3#
由于on_sent_ok已被弃用,这里有一个例子可以作为灵感。
我有类似的需要添加一个下载CTA后的内容的所有案例研究的网站,但“在交换”用户的数据:
代码看起来像这样: