搜索所有内容(帖子、页面、标签、CPT、元数据)

时间:2012-02-09 作者:robflate

我想知道如何使用内置的wordpress搜索返回我网站上所有内容的结果。具体来说,我想搜索;

自定义帖子类型(技能、客户)中使用的自定义分类法(portfolio\\u标题、portfolio\\u摘录、portfolio\\u信用、portfolio\\u链接)自定义帖子类型中使用的元框(portfolio\\u标题、portfolio\\u摘录、portfolio\\u链接)

  • 我想要一个搜索表单,不需要将搜索限制到特定的帖子类型或类别。只需输入搜索词>单击搜索>查看我的网站上所有内容的匹配项。简单;)

    更新:最好是通过函数或自定义数据库查询来实现,而不是使用插件。这是因为我正在开发一个主题,并希望将此功能包括在开箱即用中,而不是要求用户下载插件。(标题已更改)

  • 3 个回复
    最合适的回答,由SO网友:Manny Fleurmond 整理而成

    DeluxeBlogTips.com 1)有一篇关于如何在帖子和元数据中进行组合搜索的文章。基本上,它通过$wpdb对象涉及两个查询;搜索元表以获取post_id另一个是要获取的帖子查询post_ids、 然后合并数组并使用该数组对WP_Query 使用posts__in 论点

    使用标记可能有点棘手,因为1。标签用于将帖子分组在一起,并将其设置为2。标记和分类涉及3个不同的表。

    链接的文章不完全正确。应该是这样的$keyword = "%".like_escape( $keyword )."%";.

    SO网友:Matthew Boynes

    使用“Wyck posted”链接,查看http://wordpress.org/extend/plugins/search-everything/. 考虑到任务的复杂性,插件确实是完成任务的最佳选择。

    SO网友:karllhughes

    如果您确实反对插件,并且了解一些SQL,您可以使用$wpdb global variable.

    例如,要查询标题中包含“sample\\u text”的所有帖子,可以执行以下操作:

    global $wpdb;    
    $post = $wpdb->get_results("SELECT * FROM $wpdb->wp_posts WHERE post_title LIKE \'%sample_text%\' ");
    
    然后对其他每个表执行类似的操作。

    结束

    相关推荐

    Wordpress search results

    我安装了作业管理器,并设法过滤搜索以仅显示作业(即post\\u type=jobman\\u Job),它工作正常。但是,当显示搜索结果时,它只显示标题,而不像正常搜索那样提取简短描述(“摘录”)。有人能告诉我一些如何让搜索显示工作内容的指导吗?