【问题标题】:wordpress contact form7, one form redirect to multiple thank you page based on is_pagewordpress 联系 form7,一个表单重定向到多个基于 is_page 的感谢页面
【发布时间】:2018-06-28 05:42:34
【问题描述】:

我正在寻找有关 wordpress 联系表格 7 的解决方案。 插件或 PHP 代码。 我不是在寻找 JavaScript 解决方案。因为我已经找到了 JavaScript 解决方案。再说一遍:我正在寻找 pluginPHP 代码。 我想使用一个表单 (CF7),它会根据表单提交的页面重定向到多个感谢页面。 下面的示例代码。

if is_page(1){
  contact-form will go to thank-you-page-1
} else if is_page(2) {
  contact-form will go to thank-you-page-2
}

【问题讨论】:

  • 您已经在 javascript 中找到了解决方案,那么为什么还要在 php 或插件中找到解决方案?您也可以在 javascript 中重定向到多个感谢页面
  • 您已经在 javascript 中找到了解决方案,那么为什么还要在 php 或插件中找到解决方案?对于插件检查此链接wordpress.org/plugins/contact-form-7-success-page-redirectswordpress.org/plugins/wpcf7-redirect
  • javascript 可以从前端控制、禁用。所以我需要在服务器端 php 语言中使用它,以便代码必须执行。谢谢

标签: php wordpress contact-form-7


【解决方案1】:

你可以通过这个钩子来做

add_action('wpcf7_mail_sent', function ($cf7) {

    // Run code after the email has been sent
$wpcf = WPCF7_ContactForm::get_current();
 $wpccfid=$wpcf->id;

    // if you wanna check the ID of the Form $wpcf->id
     if ( '34' == $wpccfid ) { // Change 123 to the ID of the form 

         //you can use also if(is_page()){} condition 

    //redirect to url
    wp_redirect('url of thank you page');
     exit();

     }
}

【讨论】:

  • 我想知道这是否真的适用于默认的 AJAX 表单提交......
  • 我会检查这个并提出我的反馈...提前谢谢.. :)
【解决方案2】:
<?php if (is_page(array(1))) { ?>
    <script type="text/javascript">     
        document.addEventListener( 'wpcf7mailsent', function( event ) {
            location = 'https://page-link-1.com/';
        }, false );
    </script>
<?php } else if ( is_page(array(2))) { ?>
    <script type="text/javascript">
        document.addEventListener( 'wpcf7mailsent', function( event ) {
            location = 'https://page-link-2.com/';
        }, false );
    </script>
<?php } ?>

【讨论】:

    猜你喜欢
    • 2012-11-11
    • 1970-01-01
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-17
    • 1970-01-01
    • 2013-02-09
    相关资源
    最近更新 更多