#php #wordpress
#php #wordpress
Вопрос:
У меня проблема с тем, как вставить несколько флажков в wordpress $ wpdb. пожалуйста, помогите мне или любым ресурсам, которые я могу изучить. Большое вам спасибо
<div class="form-group">
<ul class = "arrangement">
<li><label class="checkbox-inline"><input type="checkbox" name = "meal_arrangement[]" value="Drinking Water">Drinking Water</label></li>
<li><label class="checkbox-inline"><input type="checkbox" name = "meal_arrangement[]" value="Snack">Snack</label></li>
<li><label class="checkbox-inline"><input type="checkbox" name = "meal_arrangement[]" value="Lunch">Lunch</label></li>
<li><label class="checkbox-inline"><input type="checkbox" name = "meal_arrangement[]" value="Dinner">Dinner</label></li>
</ul>
</div>
это мой ajax
$('#submit').click(function(){
var dataform = $('#v_form').serialize();
var checkValues = $('input[name="meal_arrangement[]"]:checked').map(function(){return $(this).val();}).get();
$.ajax({
type: "post",
url: ajax_params.ajax_url,
data: {"action": "data",
"meal_arrangement":checkValues,
},
success: function(data){
console.log('inserted');
alert('ok');
}
});
});
моя функция wordpress:
$table_client_event_meal = $wpdb->prefix."spaces_client_event_meal";
$meal_arrangement = sanitize_text_field($_POST["meal_arrangement"]);
$result2 = $wpdb->insert( $table_client_event_meal,
array(
'meal_arrangement'=>$meal_arrangement,
)
);
Комментарии:
1. вы проверили
print_r($_POST)
функцию WordPress?2. да, результат [meal_arrangement] => Array ([0] => Обед [1] => Ужин) я считаю, что в $ wpdb-> insert() должен быть foreach .
3. и что ты получаешь
var_dump($meal_arrangement);
4. я получаю это для vardump -array(2) {[0]=> string(5) «Перекус» [1]=> string(5) «Обед» }
5. я не думаю, что этот массив будет вставлен. вы хотите вставить закуски и обед через запятую?
Ответ №1:
Привет всем, я получаю решение, добавив условие цикла for в мою функцию WordPress:
$meal_arrangement = $_POST["meal_arrangement"];
$count = count($meal_arrangement);
for ( $i=0; $i < $count; $i ){
$result2 = $wpdb->insert( $table_client_event_meal,
array(
'meal_arrangement'=>$meal_arrangement[$i],
)
);
}