使用高级自定义字段(ACF),我在页面中添加了一个“关系字段”,可以从自定义帖子类型中选择帖子。所选帖子将成为页面的一部分。使用wordpress搜索功能进行搜索将无法找到包含元素信息的页面。
例如,如果我搜索“safety”,我将不会找到该页面,但会找到名为safety的costum帖子。我知道如何从搜索中禁用自定义帖子类型。我如何才能找到该页?
我希望我的例子很清楚?
最合适的回答,由SO网友:kraftner 整理而成
问题是,默认情况下,WordPress只查看标题和内容字段。当您从多个外部帖子类型构建页面时,默认查询不会找到这些部分。
在我们进一步讨论之前,我想让您知道这将非常复杂,因为您需要大量修改搜索查询。因此,目前我也无法为您编写代码,但我将尝试概述实现这一目标所需的过程:
您需要做的是修改搜索查询,使其不仅可以搜索标题和内容,还可以链接为该页面选择的自定义帖子类型帖子。ACF的关系存储为链接到帖子的自定义字段。然后,该值与自定义贴子相关。
在一个WPSE中,关于如何修改搜索查询有很多问题。这里有一个可能会有所帮助:Extending search query with additional $sentence value
有一些插件可以搜索自定义字段,但这更进一步。但看看他们的代码,因为这可能是一个很好的起点:
如果您选择
SearchWP 然后
searchwp_extra_metadata 可能是插上这个的合适地方。
还可以看看Creating a Search Page 在法典中。
尽管如此,如果这些部分可用于各种页面这一事实并不重要,您可以考虑将这些片段作为自定义字段直接添加到页面中,而不是添加到另一个自定义帖子类型中。因此,我上面列出的插件可以在开箱即用的情况下工作,这样可以节省大量时间。