在 wordpress 中应用搜索过滤的插件
Posted
技术标签:
【中文标题】在 wordpress 中应用搜索过滤的插件【英文标题】:Plugin to apply search filtering in wordpress 【发布时间】:2013-03-11 06:51:10 【问题描述】:我是一名学生,这些天在使用 wordpress 时正在学习 wordpress,但我默认情况下会在我的网站上实现搜索过滤器,wordpress 会搜索我想在搜索中应用过滤器的帖子。让我用简单的话解释我想要做什么。我的数据库表中有许多产品,用户可以通过其唯一 ID 或名称搜索产品。当用户搜索选择下拉列表时,这将向他显示以下选项以使用唯一 ID(品牌 ID)进行搜索。他可以搜索以特定输入词开头的产品。我担心如何更改 wordpress 的搜索查询。如果有人可以帮助我完成这项任务?我将不胜感激。
【问题讨论】:
【参考方案1】:我希望这段代码对您有所帮助。
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/
【讨论】:
我正在尝试使用您提到的插件。我正在尝试添加一个自定义字段,然后我想在下拉菜单中添加三个选项 1)按开始搜索。 2) 准确搜索 3) 使用插件搜索结束不允许我在下拉列表中添加项目。谢谢..以上是关于在 wordpress 中应用搜索过滤的插件的主要内容,如果未能解决你的问题,请参考以下文章
php WordPress删除过滤器(remove_filter转换为remove_class_filter)以删除没有类对象访问的过滤器/操作。与Wor一起使用