Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在wordpress中应用搜索过滤的插件_Wordpress_Search_Plugins - Fatal编程技术网

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

在wordpress中应用搜索过滤的插件,wordpress,search,plugins,Wordpress,Search,Plugins,我是一名学习wordpress的学生,在使用wordpress时,我想在我的网站上实现搜索过滤器。默认情况下,wordpress搜索我想在搜索中应用过滤器的帖子。让我简单地解释一下我想做什么。我的数据库表中有许多产品,用户可以通过其唯一id或名称搜索产品。当用户搜索选择下拉列表时,将显示以下选项,以使用唯一id(品牌id)进行搜索。他可以搜索以特定输入单词开头的产品。我很担心如何更改wordpress的搜索查询。如果有人能帮我完成这项任务?我将非常感谢。我希望这段代码对您的起步有所帮助 func

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

我希望这段代码对您的起步有所帮助

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');

?>
函数ba_SearchFilter($query){
如果(!$query->is\u search){
返回$query;
}
如果(isset($_POST['cat'])){
$query->set('category_uuuand',$uu POST['cat']);
}
如果(isset($_POST['tags'])){
$query->set('tag_uu和',$u POST['tags']);
}
返回$query;
}
//钩住过滤器进行搜索
添加过滤器('pre_get_posts','ba_SearchFilter');
带有过滤器的函数ba_search_(){
$out=
搜索:

; $categories=get_categories(); foreach($categories作为$category){ $option=''; $option.=''; $option.=$category->cat_name.“
”; $out.=$option; } $tags=get_categories(); foreach($tags作为$tag){ $option=''; $option.=''; $option.=$tag->cat_name.“
”; $out.=$option; } $out.=' '; 退回$out; } 添加_快捷码(“使用_过滤器搜索_”,“使用_过滤器搜索_”); ?>

您必须根据需要更改代码。您还可以看到插件

我正在尝试使用您提到的插件。我试图添加一个自定义字段,然后我想在下拉菜单中添加三个选项1)按开始搜索。2) 精确搜索3)使用插件搜索结束不允许我在下拉列表中添加项目。谢谢