Я кодирую этот веб-сайт, где пользователи могут создать Заказ (Пользовательский тип сообщения), а затем выбрать и добавить различные Курсы (Пользовательский тип сообщения) к этому Заказу.Они могут добавлять и бесконечное количество Курсов в Орден и могут выбирать один и тот же более одного раза.Затем он отправляет электронное письмо и сохраняет данные в Wordpress
. Пока я могу делать все это с помощью AJAX (см. Ниже), он добавляет новое поле с уникальным идентификатором каждый раз, когда я нажимаю кнопку, чтобы добавить курс.
Я сохраняю выбранные данные во входных массивах name [], чтобы иметь возможность указывать на них для доступа к meta_value (см. Ниже).Но я просто не понимаю, как генерировать meta_keys, которые я мог бы затем заполнить циклом «Для каждого».Поскольку я не хочу ограничивать количество курсов, которые они могут добавить, я хочу написать код, который будет сохранять все динамически сгенерированные поля.Я вставил ниже свою версию в жестком коде, которая работает, но я хотел бы сделать это динамически, с циклом.
Я думал об использовании массивов для хранения моих meta_keys, но я просто не знаю, как это будетgo ...
Моя функция AJAX
$(function () {
$('#add_course').on('click', function () {
var id = $(".course_title option:selected").val();
$.ajax({
method : 'POST',
url : ajaxurl,
dataType: 'json',
data : {
action : 'my_action',
id: id
},
})
.done( function( response ) {
var title = response.title;
var price = response.price;
var time = response.time;
$("#course"+total_number_of_course+"").append('
<input type="text" name="title[]" value="'+title+'" readonly><br>
<input type="text" name="time[]" value="'+time+'" readonly>
<input type="text" name="price[]" value="'+price+'" readonly>
');
})
.fail( function() {
console.log( "error" );
})
});
});
PHP при отправке
$my_post = array(
'post_type' => 'Order',
'post_title' => $_POST['entreprise'],
'post_status' => 'publish',
'post_author' => $user_id,
'meta_input' => array(
'title1' => $_POST['title'][0],
'time1' => $_POST['time'][0],
'price1' => $_POST['price'][0],
'title2' => $_POST['title'][1],
'time2' => $_POST['time'][1],
'price2' => $_POST['price'][1]
)
);
$newpost_id = wp_insert_post($my_post);
Я просто хочу, чтобы она работала без необходимости жестко ее кодировать.Я хочу, чтобы это работало в цикле.