1

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

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

1 回答 1

6

为了过滤掉特定类别,您需要利用filtersAlgolia API 的参数。

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 以不区分大小写的方式计算构面值。因此,您不需要同时指定:NOT categories:Destaques

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

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

于 2018-03-05T12:59:44.533 回答