因此,我遵循了一个关于如何创建带有单选按钮中显示的分类术语的元框的教程。(如果有兴趣,请在此为其他人提供教程:http://wp.tutsplus.com/tutorials/creative-coding/how-to-use-radio-buttons-with-taxonomies/)
我的主要目标是创建一个下拉列表。但是,将输入无线电样式转换为“选择”选项时,所选选项不会保存。下面是比较两者的代码:
<div id="taxonomy-<?php echo $taxonomy; ?>" class="categorydiv">
<!-- Display taxonomy terms -->
<div id="<?php echo $taxonomy; ?>checklist" class="list:<?php echo $taxonomy?> categorychecklist form-no-clear">
<!-- Display taxonomy terms -->
<select id="select-taxonomy">
<?php foreach($terms as $term){
$id = $taxonomy.\'-\'.$term->term_id;
$value= (is_taxonomy_hierarchical($taxonomy) ? "value=\'{$term->term_id}\'" : "value=\'{$term->term_slug}\'");
echo "<option id=\'in-$id\' name=\'{$name}\'".selected($current,$term->term_id,false)." {$value} />$term->name</option>";
} ?>
</select>
<!-- Display taxonomy terms -->
<div id="radio-taxonomy">
<?php foreach($terms as $term){
$id = $taxonomy.\'-\'.$term->term_id;
$value= (is_taxonomy_hierarchical($taxonomy) ? "value=\'{$term->term_id}\'" : "value=\'{$term->term_slug}\'");
echo "<label class=\'selectit\'>";
echo "<input type=\'radio\' id=\'in-$id\' name=\'{$name}\'".checked($current,$term->term_id,false)." {$value} />$term->name<br />";
echo "</label>";
} ?>
</div>
</div>
</div>
我能想到的唯一一件事是导致选择不保存,那就是将输入无线电更改为元素,或者它可能正在更改“.checked”to“。selected”
任何帮助都将不胜感激。
谢谢Roc。
最合适的回答,由SO网友:s_ha_dum 整理而成
要做到这一点还有很长的路要走,但基本上存在标记错误。您没有为您的选择命名。您应该具备:
<select id="select-taxonomy" name="<?php echo $name ?>"> // <-- here is the change
<?php foreach($terms as $term) {
$id = $taxonomy.\'-\'.$term->term_id;
$value= (is_taxonomy_hierarchical($taxonomy) ? "value=\'{$term->term_id}\'" : "value=\'{$term->term_slug}\'");
echo "<option id=\'in-$id\' ". selected($current,$term->term_id,false) ." {$value} />$term->name</option>";
} ?>
</select>
您不能命名单个选项。您命名
select
它本身有了这一改变,一切都很好。