如何通过instantsearch js从woocommerce产品中删除一个类别

时间:2018-03-05 12:17:02

标签: javascript wordpress algolia instantsearch

我已经尝试过但不行,我认为它必须有一些特定的方式来调用woocommerce类别

    search = instantsearch({
      appId: 'myid',
      apiKey: 'mykey',
      indexName: 'wp_posts_product',
      searchParameters: {
        filters: filters,
        hitsPerPage: 9,
            facetsExcludes: {
                categories: ['Destaques', 'destaques']
            }
      }
    });

1 个答案:

答案 0 :(得分:6)

要过滤掉特定类别,您需要利用Algolia API的filters参数。

https://www.algolia.com/doc/api-reference/api-parameters/filters/?language=javascript#combination-of-filters

如果我调整你的代码,它会给你类似的东西:

var search = instantsearch({
  appId: "myid",
  apiKey: "mykey",
  indexName: "wp_posts_product",
  searchParameters: {
    filters: "NOT categories:Destaques",
    hitsPerPage: 9,
  }
});

请注意,Algolia以不区分大小写的方式计算facet值。 因此,您无需另外指定:NOT categories:Destaques

如果您的类别包含空格,请确保将其用双引号括起来,如下所示:NOT categories:"Destaques"

最后,您要排除多个类别,可以将条件与AND语句结合使用:NOT categories:Destaques AND NOT categories:"other with spaces"