当前位置: 首页 > 知识库问答 >
问题:

Contactform 7无法设置隐藏值

昌学
2023-03-14

我试图实现贝宝支付网关一旦提交联系表。

为此,我将表单数据存储在数据库中,并在付款完成后从保存的id中检索数据。保存该db ID在隐藏字段发送到贝宝网址。

我试过了,值是返回的。但是当我在wpcf7mail中获取表单数据时,它是空的。

function action_wpcf7_submit( $array ) { 
    global $wpdb;
    
    $wpcf7 = WPCF7_ContactForm::get_current();
    $form_id = $wpcf7->id;
    
    $submission = WPCF7_Submission::get_instance();
    $invalid_fields = $submission->get_invalid_fields();

    $posted_data = $submission->get_posted_data();
    
    if ($form_id ==123 && empty($invalid_fields))
    {
            $first_name = $posted_data['first-name'];
            $last_name = $posted_data['last-name'];
            $parent_email = $posted_data['parent-email'];
            $parent_phone = $posted_data['parent-phone'];
            $duration = $posted_data['Duration'][0];
            $total_price = $posted_data['total_price'];
            $notes_requests = $posted_data['notes-requests'];
            $studentcount = $posted_data['studentcount'];
            
            $table_name = "store_subscription";
$result_check = $wpdb->insert($table_name, array('parent_guardian_firstname' => $first_name, 'parent_guardian_lastname' => $last_name, 'parent_guardian_email' => $parent_email,'parent_guardian_phone' => $parent_phone, 'subscription_duration' => $duration, 'total_price' => $total_price, 'notes_special_request' => $notes_requests) ); 
$lastid = $wpdb->insert_id; 
            
            if($result_check){   
                for($i=1;$i<=$studentcount;$i++){
                  $add_student_name = $posted_data['student_name_'.$i];
                  $add_current_grade_level = $posted_data['current_grade_level_'.$i];                   
                  $additional_student_table = "store_subscription_student";
                  if(!empty($add_student_name)){                 
                    $wpdb->insert($additional_student_table, array('store_subscription_id'=> $lastid, 'student_name' => $add_student_name, 'grade_level' => $add_current_grade_level)); 
                  }
               }
                
                //setting the store_subscriptin_id to retrieve the data from the paypal.            
            $posted_data['store_subscription_id'] = $lastid;
            $posted_data['paypal_pg_redirect_url'] = "https://www.example.com/redirect-paypal/?id=$lastid&amt=$total_price";
                
                return $posted_data;
             }  
    }
}
add_filter( 'wpcf7_submit', 'action_wpcf7_submit');

add_action( 'wp_footer', 'mycustom_wp_footer' );

function mycustom_wp_footer() {
?>
<script type="text/javascript">
document.addEventListener( 'wpcf7mailsent', function( e ) {
    console.log(e.detail);
if ( '123' == e.detail.contactFormId ) {
    var paypal_pg_redirect_url = document.getElementById('paypal_pg_redirect_url').value;
    console.log(paypal_pg_redirect_url);
     ///window.location.href = paypal_pg_redirect_url;
}
}, false );
</script>
<?php
}

未设置隐藏字段值。有人能帮我设置隐藏字段值并在wpcf7mailsent

注意:我在发送邮件之前尝试了hook,后来才知道我们不能在发送邮件之前更改值。因此,我尝试将值也设置为隐藏字段store\u subscription\u id是我试图设置值的隐藏字段。请帮忙。

共有1个答案

阴高刚
2023-03-14

也许可以尝试在设置值之前添加if(isset()):

if(isset($lastid)){
    $posted_data['store_subscription_id'] = $lastid;
}
 类似资料:
  • 我正在尝试构建一个带有Inno Setup的安装程序,该安装程序基于一些配置选项运行其他安装程序。为了简单起见,假设我有20个安装程序,可以在5种不同的配置中设置,其中每个配置都有一些必需的和一些可选的安装程序。配置A可能需要安装程序1、2、5、6,并有11、13和14的选项。配置B可能需要1、2、3、9,并有12、19和20的选项。以此类推。 我为每个安装程序准备了一个组件。理想情况下,我想使用

  • 在下面的片段中,我有两种方法来选择一个项:用datalist输入和传统的用Options选择。

  • 嗯,我也试着把它藏在身体里!还是不工作..?

  • 本文向大家介绍PowerShell设置文件只读、隐藏属性的方法,包括了PowerShell设置文件只读、隐藏属性的方法的使用技巧和注意事项,需要的朋友参考一下 本文介绍一个PowerShell中如何设置文件属性。我们知道文件的属性有只读、隐藏、系统、存档和无内容索引等5个,只读和隐藏用得比较多,另外三个用得比较少。 一、文件的属性 不知道大家有没有用过attrib.exe这个cmd下的小程序,它可

  • 在实现selenium测试之前,我尝试在工作中为selenium测试解决一个recaptcha。 我使用的用例:https://www.google.com/recaptcha/api2/demo 系统也是如此。我试图找到验证码令牌,但每次它都返回null元素。到目前为止,硒的主要作用是: Bys. CssSelector等也是如此。 我已经在正确的IFrame中了,因为页面源已正确打印出来,但通

  • 问题:如果距离为空/null,我试图隐藏一个值。 我尝试了以下操作,但该值仍在显示: 和 什么是实现我所期待的正确方法。 以下是我在coldfusion中定义距离的方式: 当我做以下建议时: ng-show="e.distance===未定义" 当我执行其他建议时,例如ng hide=“e.distance”, 以下是提供商包含的内容: