将“选定”类添加到自定义分类下拉搜索

时间:2015-04-19 作者:LBF

我找到了以下函数,可以将自定义分类下拉列表添加到搜索表单中。它可以很好地进行搜索,但不会将“selected”类添加到搜索的术语中。这是我的分类代码,名为grades:

function get_terms_grades_dropdown($taxonomies, $args)
    {
        global $search_values;

        $myterms = get_terms($taxonomies, $args);
        $output = "";
        foreach ($myterms as $term) {
            $root_url = get_bloginfo(\'url\');
            $term_taxonomy = $term->taxonomy;
            $term_slug = $term->slug;
            $term_name = $term->name;
            $value = $term->term_id;
            if ($search_values[\'grades\'] == $term->slug) {
                $selected = "selected=\'selected\'";
            } else {
                $selected = \'\';
            }
            $output .= "<option value=\'" . $value . "\' " . $selected . ">" . $term_name . "</option>";
        }

        return $output;
    }
然后我使用如下函数:

<select name="grade" id="grade_search">
    <option value="" selected="selected">Grade Level</option>
    <?php
    $taxonomies = array(\'grades\');
    $args = array(\'orderby\'=>\'count\',\'hide_empty\'=>true);
    echo get_terms_grades_dropdown($taxonomies, $args);
    ?>
</select>
问题在于这一行:

if ($search_values[\'grades\'] == $term->slug) {
我需要$search_values[\'grades\'] 等于搜索的项。

非常感谢。

1 个回复
最合适的回答,由SO网友:Trang 整理而成

$seach\\u值可以在站点重定向时更改,请确保$search_values 仍然保留搜索表单中的输入值。

当然我建议使用GETPOST 从窗体传递值。所以,你的比较陈述应该是

$_GET[\'grades\'] == $term->slug
这里我想你的搜索表method="GET"

结束

相关推荐

Search tags in CPTs

我似乎不知道如何在wordpress搜索中包含标签。例如,如果我搜索“apple”,我希望在标题或内容中返回带有“apple”的帖子(默认wordpress功能)as well as 包含标签“apple”的帖子;当我添加\'tag\' => $keyword 行到WP\\u查询中,然后每次搜索都没有结果。$keyword = get_search_query(); $args = array( \'post_type\' => array(\'case_studie