好啊以下是正确的代码位,我通过以下方式获得了解决方案:
<select multiple="multiple" name="site_options[categorychoice][]">
<?php $option = get_option(\'site_options\'); ?>
<?php
$args = array(
\'orderby\' => \'name\',
\'parent\' => 0,
\'exclude\' => 1
);
$categories = get_categories( $args );
foreach ($categories as $category) { ?>
<?php $selected = in_array( $category->cat_ID, $option[\'categorychoice\'] ) ? \' selected="selected" \' : \'\'; ?>
<option value="<?php echo $category->term_id; ?>" <?php echo $selected; ?> >
<?php echo $category->cat_name . \' (\' . $category->category_count .\')\'; ?>
</option>
<?php } //endforeach ?>
</select>
First of all: Getting knowledge 从@toscho开始,我对
<select name="">
要允许数组值存储二维数组,请执行以下操作:
<select multiple="multiple" name="site_options[categorychoice][]">
它解决了数据插入问题。
Secondly: 我将前端部分带到后端,以获取存储在db中的内容,其中包括:
<?php $option = get_option(\'site_options\'); ?>
然后用
in_array()
像
suggested by chrisguitarguy 要选择已插入的值,请执行以下操作:
<?php $selected = in_array( $category->cat_ID, $option[\'categorychoice\'] ) ? \' selected="selected" \' : \'\'; ?>
并呼应了
$selected
进入
<option>
s:
<option <?php echo $selected; ?> >
它解决了所有问题,我可以在db中插入多项类别选择,也可以从中扣除。:)
感谢@toscho和@chrisguitarguy.:)