Как мне взять все отмеченные варианты и заполнить поле «Пользовательский тип записи»?
Вот форма:
<form action="#" method="post">
<div class="row">
<div class="column left labels">
<input type="checkbox" name="grips[]" value="Top (T1)"><label>Top (T1)</label>
<input type="checkbox" name="grips[]" value="High (12)"><label>High (12)</label>
</div>
<div class="column left labels">
<input type="checkbox" name="grips[]" value="Mid (23)"><label>Mid (23)</label>
<input type="checkbox" name="grips[]" value="Low (34)"><label>Low (34)</label>
</div>
<div class="column left labels">
<input type="checkbox" name="grips[]" value="Bottom (P4)"><label>Bottom (P4)</label>
<input type="checkbox" name="grips[]" value="Other"><label>Other</label>
</div>
</div>
<input type="submit" name="submit" value="Submit"/>
</form>
Я хочу сделать это, но это не так Это не сработает, оно будет принимать только последнее значение в массиве:
__update_post_meta( $the_post_id, 'grips', $_POST['grips']);
Я пытался выполнить l oop, но это уберет все остальные галочки и оставит только последнюю добавленную:
foreach($_POST['grips'] as $selected){
echo $selected."</br>";
__update_post_meta( $the_post_id, 'grips', $selected);
}
Это то, что у меня есть в моих функциях. php Файл: мне кажется, мне нужна другая функция для массивов, так как эта обновляет только отдельные настраиваемые поля:
function __update_post_meta( $post_id, $field_name, $value = '' ) {
if ( empty( $value ) OR ! $value )
{
delete_post_meta( $post_id, $field_name );
}
elseif ( ! get_post_meta( $post_id, $field_name ) )
{
add_post_meta( $post_id, $field_name, $value );
}
else
{
update_post_meta( $post_id, $field_name, $value );
}
}
Здесь это изображение пользовательского поля, которое я установил: ![enter image description here](https://i.stack.imgur.com/65CXc.png)