Есть вот такая форма. Важно, чтобы name было одним и тем же, поскольку это потом надо для js и чтобы были ключи - val1, val2, val3..
<div class="personnel_box">
<div class="personnel-item">
val 1 <input type="text" name="personnel_field[val1]" value=""/>
val 2 <input type="text" name="personnel_field[val2]" value=""/>
val 3 <input type="text" name="personnel_field[val3]" value=""/>
</div>
<div class="personnel-item">
val 1 <input type="text" name="personnel_field[val1]" value=""/>
val 2 <input type="text" name="personnel_field[val2]" value=""/>
val 3 <input type="text" name="personnel_field[val3]" value=""/>
</div>
</div>
И дальше собираю в переменную-массив:
$addresses = $_POST['personnel_field'];
$addresses = array_filter( $addresses );
update_post_meta( $post_id, 'personnel_field', $addresses ); // присваиваю массив как значение мета-бокса
Если я убираю из моей формы ключи (val1, val2,val3), то данные собираются в сериализованный массив, если добавить ключи то добавляется только значение последнего item.
Получается это сделать так же, если добавить ключи, но имя внутри каждого personnel-item разное - например добавляю цифру personnel_field2 и потом собираю это как массив
$addresses = array($_POST['personnel_field'],$_POST['personnel_field2']);
Но как мне сделать, чтобы имя было одинаковым и чтобы добавить ключи для каждого поля?