联系表格7在发布请求后选择字段值



我正在尝试获取表单下拉字段值。所有其他类型的字段值都可以得到,但只选择字段值会产生问题。这是我的表格,一个是文本,另一个是选择

<div class="col-lg-6 first"><label>Full Name
[text* FullName id:fullname]</label></div>
<div class="col-lg-6 last"><label>Business Type
[select* primarybusiness id:primarybusiness include_blank "Manufacturer" "Brand" "Retailer" "Wholesaler"]</label></div>

这就是我想要得到的

$mydb = new wpdb('user','password','database','localhost');
$form_to_DB = WPCF7_Submission::get_instance();
if ( $form_to_DB ) 
$formData = $form_to_DB->get_posted_data();        
$fullname = $formData['FullName'];
$primarybusiness = $formData['primarybusiness'];

当我把它存储在数据库中时,只输入$fullname,而$primarybusiness什么都不给。这是我以前保存的。

$mydb->insert( 'mytable', array( 'fullname'=>$fullname,'primarybusiness'=>$primarybusiness), array( '%s' ) );

这应该可以工作。拿水管没有简单的解决办法,这有点痛苦。管道存储为一个类,您可以推送到数组,其中pipe[0]是值,pipe[1]是选项描述。

add_action( 'wpcf7_before_send_mail', 'cf7_pipes_so_67686211');
function cf7_pipes_so_67686211( $contact_form ) {
global $wpdb;
$mydb = new wpdb('user','password','database','localhost');

// Get Form Tags
$tags = $contact_form->scan_form_tags();
$pipe_array = array();
// Find the Values of the Pipes
foreach ($tags as $tag){
if ($tag->name === 'primarybusiness'){
$pipe_array = $tag->pipes->to_array();
}
}
// Get the form data
$form_to_DB = WPCF7_Submission::get_instance();
if ( $form_to_DB ) {
$formData = $form_to_DB->get_posted_data();
$fullname = $formData['FullName'];
foreach ($pipe_array as $value) {
// Compare and find the pipe value
if ( $posted_data['primarybusiness'][0] === $value[1] ){
$primarybusiness = $value[0];
}
}
$mydb->insert( 'mytable', array( 'fullname'=>$fullname,'primarybusiness'=>$primarybusiness), array( '%s' ) );
}
}

最新更新