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

Gus*_*gas 1 javascript wordpress algolia instantsearch

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

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

ray*_*jes 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,
  }
});
Run Code Online (Sandbox Code Playgroud)

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

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

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