你曾经在一个有很多自定义帖子类型的WordPress网站上工作吗? 那么WordPress的搜索是一个灾难,这就是为什么许多博客使用谷歌自定义搜索。 那么,我们正在一个拥有大量资源文章,视频,书籍和博客文章的网站上工作。 使用默认的WordPress搜索只是没有削减。 使用Google搜索也不是一个可行的选择。 因此,我们决定创建一个高级搜索表单,允许用户通过复选框限制自定义帖子类型,从而选择要搜索的网站的哪个区域。 用户可以结合他们的搜索查询,最重要的是,我们做了这样的复选框与搜索查询一起保存。 这可以让用户确切地看到他们搜索的内容,并且可以修改参数。 在本文中,我们将向您展示如何使用WordPress搜索查询的强大功能在WordPress中创建高级搜索表单,并通过自定义发布类型限制搜索结果。
首先你需要做的是打开你的searchform.php文件或者存储搜索表单的地方。 然后在表单代码中添加以下字段:
不要忘记用您的自定义帖子类型替换值。 上面的代码基本上限制您的搜索结果到这些帖子类型。 那么,如果你注意到我们几乎添加了所有可用的帖子类型,除了页面。 那么,我们以后会有这样做的一个很好的理由。 因此,请确保使用主搜索按钮包含要搜索的所有帖子类型。 这些字段是隐藏的,所以用户看不到这些。
接下来打开你的search.php文件,在循环内容的上面粘贴下面的代码,这样你的用户可以看到顶部的选项。
这将在搜索结果上方的搜索框中添加搜索框。 这还将检查在查询中搜索哪些帖子类型,并选中相应的复选框。 请记住,我们如何在隐藏字段中添加所有帖子类型。 那么,我们添加它只是为了我们可以运行in_array检查,并保持复选框检查。 否则没有关于如何做到这一点的文件,所以这是我们找到工作的最好方式。 以下是搜索框外观的预览:
从那里,用户可以简单地修改参数。
希望这篇文章帮助那些有需要的人。 当我们做研究的时候,有一堆不完整的文章。 找到答案在WordPress支持论坛中添加复选框在一个较旧的线程,但他们只是在谈论隐藏的领域。 而我们想让用户选择修改搜索查询。 道具@tammyhart指出我们正确的方式做变量的检查查询。