3

我正在为 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>';
  }
4

1 回答 1

0

不幸的是,这个插件有一个有据可查的问题列表,插件创建者的响应率不是很好。最近一些关于该插件的帖子说它根本不适用于 Wordpress 3.6。您的选择有些有限,您可以悬赏问题并尝试吸引一些人对插件的问题进行自定义修复,您可以等待插件更新,或者您可以尝试为 Wordpress 实施诸如 Isoptope 之类的东西(这有一些学习曲线可以使用)。

最后,我刚刚发现,如果您安装了 Yoast 或 Pretty Permalinks 插件,这些插件和 Cat+Tags 过滤器之间存在冲突记录,因此您可以尝试打开和关闭一些插件,看看这是否能解决问题你。

我希望这会有所帮助。

于 2013-10-20T01:03:45.583 回答