首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在wordpress中应用搜索过滤的插件

在wordpress中应用搜索过滤的插件
EN

Stack Overflow用户
提问于 2013-03-11 14:51:11
回答 1查看 4.3K关注 0票数 1

我是一名学生,这些天在使用wordpress的同时学习wordpress,我想在我的网站上实现搜索过滤器,默认情况下,wordpress会搜索我想要应用搜索过滤器的帖子。让我用简单的语言解释一下我想做什么。我的数据库表中有许多产品,用户可以通过产品的唯一id或名称来搜索产品。当用户将搜索选择下拉列表时,将显示以下选项,以使用唯一ID(品牌ID)进行搜索。他可以搜索以特定输入单词开始的产品。我担心怎样才能改变wordpress的搜索查询。有没有人能帮我完成这项任务?我将非常感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-11 16:01:53

我希望这段代码能帮助你入门。

代码语言:javascript
复制
function ba_SearchFilter($query) {
    if (!$query->is_search) {
        return $query;
    }
    if (isset($_POST['cat'])){
        $query->set('category__and', $_POST['cat']);
    }
    if (isset($_POST['tags'])){
        $query->set('tag__and', $_POST['tags']);
    }
    return $query;
}
//hook filters to search
add_filter('pre_get_posts','ba_SearchFilter');

function ba_search_with_filters(){
    $out = '<form role="search" method="get" id="searchform" action="'. home_url( '/' ).'">
    <div><label class="screen-reader-text" for="s">Search for:</label>
        <input type="text" value="" name="s" id="s" /><br />';
            $categories=  get_categories(); 
            foreach ($categories as $category) {
                $option = '';
                $option .= '<input type="checkbox" name="cat[]" id="cat[]" value="'.$category->term_id.'"> ';
                $option .= $category->cat_name .'<br />';
                $out.= $option;
            }
            $tags=  get_categories(); 
            foreach ($tags as $tag) {
                $option = '';
                $option .= '<input type="checkbox" name="tags[]" id="tags[]" value="'.$tag->term_id.'"> ';
                $option .= $tag->cat_name .'<br />';
                $out.= $option;
            }
    $out .='<input type="submit" id="searchsubmit" value="Search" />
        </div>
        </form>';
    return $out;
}

add_shortcode('search_with_filter','ba_search_with_filters');

?>

您必须根据自己的需求更改代码。您还可以看到插件http://wordpress.org/extend/plugins/advance-wp-query-search-filter/

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15332757

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档