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

Algolia and WordPress search page suddenly not working, console showing "Uncaught typeError"

我用 WordPress 和 Algolia 搜索构建了一个搜索页面,几个月来它一直运行良好,但突然出现以下错误:

Uncaught TypeError: Cannot read property 'matchedWords' of undefined

facet 过滤器不再工作,搜索结果未显示。

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

我无法确定自它停止工作后发生的任何变化,所以我真的不知道如何修复此错误。

Algolia WordPress插件前几天已经更新到2.3.0了,但是我更新后加载了几次搜索页面并且可以使用,更新后才一天左右就坏了并开始显示控制台错误。

请帮忙!

提前致谢。

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

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

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

如果您还自定义了 autocomplete/search 页面模板,则需要确保其中使用的字段在发送到 Algolia 的数据中仍然可用。

我删除了我所有的 Algolia 指数,重新索引了所有需要的东西,并恢复到我的旧即时搜索命中模板,它确实再次起作用,搜索突出显示再次起作用。

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

我可以 data.images.thumbnail 显示每个搜索结果的缩略图。但是我想抓取更高分辨率的图像,我以前可以使用 data.images.medium...

有什么想法吗?

我从这个post中找到了答案 - https://discourse.algolia.com/t/image-size-on-instantsearch-page/1593/2

自版本 2.x 起,所有图像尺寸都不会在每次搜索时 return 编辑,因为这会导致性能问题。

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

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

    return $sizes;
});

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

希望这对您有所帮助。