如何在联系表格 7 WP 中选中复选框
Posted
技术标签:
【中文标题】如何在联系表格 7 WP 中选中复选框【英文标题】:How to check checkbox is checked or not in Conatct Form 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' );
【问题讨论】:
欢迎,请对错字进行编辑,格式良好的代码是加分项:) 【参考方案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'];
【讨论】:
以上是关于如何在联系表格 7 WP 中选中复选框的主要内容,如果未能解决你的问题,请参考以下文章
如何检查是不是在 qtablewidget 中选中了复选框?
如何签入用户已在 Google recaptcha 中选中复选框的 js?