为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Conatct Form 7 WP 中检查复选框是否被选中

如何在 Conatct Form 7 WP 中检查复选框是否被选中

PHP
小唯快跑啊 2023-06-18 16:20:20
我是 wordpress 的新手。我已经使用联系表 7 在 wordpress 页面中创建了表单。在提交表单数据之后,我正在处理 functions.php 文件中的数据。最近我在我的表单中添加了新的单个复选框。这是我的疑问,现在我必须根据选中/未选中的复选框编写条件。这是我的表单代码    <div class="col-md-6">        <label> Full Name <span class="required">*</span></label>        [text* fullname]    </div>    <div class="col-md-6">        <label> Mobile No <span class="required">*</span></label>        [tel* mobno]    </div>     <div class="col-md-6">        <label> Car Model <span class="required">*</span></label>        [text* carmodel]    </div>    <div class="col-md-6">        [checkbox next_service_date_chk "I don't know my Next Scheduled Service Date"]    </div>    <div class="col-md-6">        [submit id:submit "Submit"]    </div></div>我的functions.php文件代码function serviceform( $contact_form ) {  $id = $contact_form->id;  $submission = WPCF7_Submission::get_instance();    if ( $submission ) {        $posted_data = $submission->get_posted_data();    }  if ( '8371' == $id ) {    $name =  $posted_data['fullname'];      $carmodel =  $posted_data['carmodel'];     $mobno =  $posted_data['mobno'];     $next_service_date_chk =$posted_data['next_service_date_chk'];    if($next_service_date_chk == true){     $message1 = urlencode("custome message one");    }    else{     $message1=urlencode("custome message two");    }    //sms to customer    file_get_contents('http://hpsms.dial4sms.com/api/v4/?api_key=xxxxxxxxxxxxxxxxxxxxx&method=sms&message='.$message1.'&to='.$mobno.'&type=2&sender=XXXXXX');}}add_filter( 'wpcf7_support_html5_fallback', '__return_true' );
查看完整描述

1 回答

?
慕丝7291255

TA贡献1859条经验 获得超6个赞

尝试这样做,因为您的复选框作为数组返回。你正在做的是定义它是否有价值,这是某种东西。

此外,应该使用CF7 Docs方法而不是对象的值来获取联系表单 7 对象

/* Don't do this, since id property is no longer accessible. */

$id = $contact_form->id; // Wrong.


/* Use id() method instead. */

$id = $contact_form->id();

更新功能


function serviceform( $contact_form ) {

  // Use function id(); to get id of object $contact_form    

  if ( '8371' !== $contact_form->id() ) return;

  $submission = WPCF7_Submission::get_instance();

    if ( $submission ) {

        $posted_data = $submission->get_posted_data();

    }

    $name =  $posted_data['fullname'];  

    $carmodel =  $posted_data['carmodel']; 

    $mobno =  $posted_data['mobno']; 


    // Checkbox is returned as array. Check if empty.

    $next_service_date_chk = !empty($posted_data['next_service_date_chk'][0]) ? true : false;


    if($next_service_date_chk == true){

        $message1 = urlencode("custome message one");

    }

    else{

        $message1=urlencode("custome message two");

    }


    //sms to customer

    file_get_contents('http://hpsms.dial4sms.com/api/v4/?api_key=xxxxxxxxxxxxxxxxxxxxx&method=sms&message='.$message1.'&to='.$mobno.'&type=2&sender=XXXXXX');

}


而不是这个


$next_service_date_chk =$posted_data['next_service_date_chk'];


查看完整回答
反对 回复 2023-06-18
  • 1 回答
  • 0 关注
  • 113 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信