Algolia - WordPress - 未捕获TypeError:wp.template不是函数

时间:2017-08-30 14:52:29

标签: wordpress algolia

我收到此错误: 未捕获的TypeError:wp.template不是Algolia模板上的函数。它显然与调用命中的小部件相关联:

search.addWidget(
              instantsearch.widgets.hits({
                container: '#hits',
                hitsPerPage: 30,
                templates: {
                item: wp.template('instantsearch-hit'),
                empty: "We didn't find any results for the search <em>\"{{query}}\"</em>"
                }
                })
                );

据我所知,这需要wp-util.js脚本才能工作(这应该是WordPress的一部分,可以找到这个脚本: /wp-includes/js/wp-util.js

更多相关信息: https://codex.wordpress.org/Javascript_Reference/wp.template

似乎问题是模板由于某种原因没有加载。我试图通过functions.php将脚本排入队列,但是除了得到以前的错误之外,我得到了两个新的错误:

未捕获的ReferenceError:_未定义     在wp-util.js:17     在wp-util.js:124

有没有人有这样的问题并设法解决它?

感谢您的帮助。

3 个答案:

答案 0 :(得分:0)

您是否有机会使用Cloudflare火箭装载机?

对于同样的错误,有一个bug report显然是由Cloudflare火箭加载器引起的。

该错误报告中提到的解决方案是:

  

我应用了一个小的解决方法来防止js错误,这是   阻止我网站上的其他脚本,添加:

if( wp.template == null ) return;
  

在剧本解雇后:

jQuery(function () {
  

通过这种方式,我的以下脚本被正确触发,但有时也是如此   (让我们说每4页加载一次)自动完成搜索不是   烧成。

答案 1 :(得分:0)

在我的wp的管理面板中遇到了相同的问题。并发现“ BackUpWordpress”插件是问题所在。我只是停用它并再次检查页面。错误消失了。

因此解决方案是仅逐个停用其他插件,并每次检查错误的页面。这样您就可以知道哪个插件导致了此jquery错误。

我确认停用插件不会删除该插件中保存的数据。因此,没有任何问题可以停用插件。在“未捕获的TypeError:wp.template不是函数”错误的页面上完成工作后,您可以再次激活插件。

答案 2 :(得分:0)

就我而言,我安装了 W3 Total Cache 插件,并将 Minify 选项设置为手动。

从手动缩小列表中删除 wp-underscore 脚本后,wp.template() Not a function 的问题就消失了。