我正在为 WordPress 使用 Cat + Tag Filter 插件,它工作正常,除了应该在标签搜索之间保存的复选框没有被保存。除了最后一个选定的选项外,所有选项都被清除,这让我怀疑在显示每个复选框并检查该标记是否包含在标记数组中的 foreach 语句中存在问题。
我的问题是,如何保持标签复选框被选中,而不仅仅是最后一个,这个 foreach 语句有什么问题吗?
if ($type == 1){
if ($there_are_tags){
$options .= '<ul>';
foreach ($tags as $tag) {
$options .= '<li>';
$options .= '<input type="checkbox" name="';
$options .= "tag[]";
$options .= '" value="' . $tag->slug . '"';
if (is_array($current_tax['tags'])) {
if (in_array($tag->slug, $current_tax['tags'])) {
$options .= ' checked ';
}
}
$options .= '>';
$options .= $tag->name;
if ($ctf_options['tags_count'] == 1) $options .= ' (' . $tag->count . ')';
$options .= '</li>';
}
$options .= '</ul>';
}
else $options .= '<ul><li><input type="checkbox" name="tag[]" value="-1" disabled>' . __('No tags here', 'cat-tag-filter') . '</li></ul>';
}