【问题标题】:How to check checkbox is checked or not in Conatct Form 7 WP如何在联系表格 7 WP 中选中复选框
【发布时间】:2020-10-07 18:00:33
【问题描述】:

我是 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' );

【问题讨论】:

  • 欢迎,请对错字进行编辑,格式良好的代码是加分项:)

标签: php html wordpress contact-form-7


【解决方案1】:

尝试这样做,因为您的复选框作为数组返回。你正在做的是定义它是否有一个值,这是什么。

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

/* 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'];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-15
    • 1970-01-01
    • 2015-11-04
    • 1970-01-01
    • 1970-01-01
    • 2016-01-05
    • 2020-06-27
    • 1970-01-01
    相关资源
    最近更新 更多