Algolia和WordPress搜索页面突然无法正常工作,控制台显示“Uncaught typeError”

时间:2017-06-29 14:32:52

标签: javascript wordpress plugins algolia

我使用WordPress&amp ;;构建了一个搜索页面。 Algolia Search,它已经工作了好几个月,但突然之间,我收到了以下错误:

  

未捕获的TypeError:无法读取未定义的属性“matchedWords”

构面过滤器不再有效,搜索结果未显示。

有问题的网页是:https://habyts.com/activities-for-kids

我无法确定任何因为停止工作而发生变化的事情,所以我真的不知道如何解决这个错误。

Algolia WordPress插件日前更新到2.3.0,但是我在更新后加载了搜索页面几次并且它正常工作,它只是在更新后的一天左右它已经破坏并开始显示控制台错误。

请帮忙!

提前致谢。

3 个答案:

答案 0 :(得分:6)

引发Uncaught TypeError: Cannot read property 'matchedWords' of undefined错误,因为您的Algolia索引中不再存在某个字段。

从插件的1.x版到2.x版,有一些变化,我们已经看过一次这个错误。

要解决此问题,您需要手动删除Algolia仪表板中的所有索引,然后触发Algolia插件管理员对所有索引的重新索引。

如果您还自定义了自动填充/搜索页面模板,则需要确保在发送到Algolia的数据中仍然可以使用这些字段中的字段。

答案 1 :(得分:0)

我删除了所有我的Algolia Indices,并重新编制了所需的所有内容,并恢复了我原来的即时搜索命中模板,该模板确实再次运行,搜索突出显示再次工作。

但有一件事并不奏效。我之前使用data.images.medium来显示每个搜索结果的缩略图。由于某种原因,这不再有效,因为没有显示图像。没有控制台错误,我无法弄清楚改变了什么。

我可以让data.images.thumbnail工作以显示每个搜索结果的缩略图。然而,我希望获得更高分辨率的图像,我以前可以使用data.images.medium ...

来完成

有什么想法吗?

答案 2 :(得分:0)

我发现了这篇文章的答案 - https://discourse.algolia.com/t/image-size-on-instantsearch-page/1593/2

从版本2.x开始,每次搜索都不会返回所有图像大小,因为它会导致性能问题。

要返回缩略图以外的自定义图像尺寸,需要将此代码添加到插件/函数文件中。

add_filter('algolia_post_images_sizes', function($sizes) {
    $sizes[] = 'medium'; 

    return $sizes;
});

将此代码添加到函数或您自己的自定义插件文件后,您需要重新索引所有内容,然后您选择的自定义图像大小才能开始工作。

希望这很有帮助。