Rspline

Multi-select поле для таксономии

Я пытаюсь создать multi select поле для таксономии,
и проблема заключается в том что я не могу сохранить все выбранные значения в массив,
если я выбираю несколько элементов то записывается в массив только значение
последнего элемента, что с моим кодом не правильно?

[code- function books_tax_fields($tag) {
$t_id = $tag->term_id;
$term_meta = get_option( "taxonomy_$t_id");
print_r($term_meta);
?>

<tr class="form-field">
<th scope="row" valign="top">
<label for="Book_Store_Location">
<?php _e(‘Book Store Location’); ?>
</label></th>
<td>
<input type="text" name="term_meta[book_store_location]" id="term_meta[book_store_location]" size="25" style="width:100%;" value="<?php echo $term_meta[‘book_store_location’] ? $term_meta[‘book_store_location’] : ”; ?>">
<br />
<span class="description descRed">
<?php _e(‘Book Store Location URL’); ?>
</span></td>
</tr>

<tr class="form-field">
<th scope="row" valign="top">
<label for="Books_Select_box">
<?php _e(‘Select your favorite book’); ?>
</label></th>
<td>
<select name=’term_meta[books] ‘ data-placeholder="Select your favorite books…" class="books-slkt" multiple style="width:100%; height:100px;" tabindex="4">
<option value=""></option>
<option value="1">Book one</option>
<option value="2">Book two</option>
<option value="3">Book three</option>
<option value="4">Book four</option>
<option value="5">Book five</option>
</select>
</td>
</tr>

<?php
}

function save_extra_books_fields( $term_id ) {
if ( isset( $_POST[‘term_meta’] ) ) {
$t_id = $term_id;
$term_meta = get_option( "taxonomy_$t_id");
$cat_keys = array_keys($_POST[‘term_meta’]);
foreach ($cat_keys as $key){
if (isset($_POST[‘term_meta’][$key])){
$term_meta[$key] = $_POST[‘term_meta’][$key];
}
}
update_option( "taxonomy_$t_id", $term_meta );
}
}

add_action( ‘books_edit_form_fields’, ‘books_tax_fields’, 10, 2);
add_action( ‘edited_books’, ‘save_extra_books_fields’, 10, 2);[/code]
При выборе всех 5ти элементов при сохранении я получаю только значение последнего

Array ( [book_store_location] => [books 
=> 5)
Anonymous
Отправить
Ответ на: